package com.university.chat.Client; public class chatClient { public static void main() { // TODO: Connecting to the server // 1. Create a socket and connect to the server // 2. Create an ObjectOutputStream (out) and ObjectInputStream (in) // from the socket's streams — output FIRST, then input. // 2. Get the username, and send a LOGIN ChatMessage with that username // 3. Start a new Thread running a ServerListener(in) so incoming // messages are handled concurrently. while (true){ try { // TODO: Program loop — read a line from the console and act on it: // - "/msg " -> build & send a PRIVATE_MESSAGE // - "/users" -> build & send a USER_LIST request // - "/sendfile " -> read the file into a byte[] // (you can use TransferProgress // to show progress) // and send it as a FileMessage // - anything else -> send a PUBLIC_MESSAGE // Remember to flush() the output stream after writeObject(). } catch (Exception e){ System.out.println("command failed: " + e.getMessage()); } } } }