Chat App
Chat App
*;
import java.net.*;
import java.util.*;
while (true) {
Socket clientSocket = serverSocket.accept();
clientId++;
ClientHandler clientHandler = new ClientHandler(clientSocket, "User" + clientId);
clientHandlers.add(clientHandler);
new Thread(clientHandler).start();
}
}
String msg;
while ((msg = in.readLine()) != null) {
String formatted = username + ": " + msg;
System.out.println(formatted);
ChatServer.broadcast(formatted, this);
}
} catch (IOException e) {
System.out.println(username + " disconnected.");
} finally {
try {
socket.close();
} catch (IOException e) {}
ChatServer.removeClient(this);
}
}
import java.io.*;
import java.net.*;
public class ChatClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 12345); // Connect to server on port 12345
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter output = new PrintWriter(socket.getOutputStream(), true);
BufferedReader consoleInput = new BufferedReader(new InputStreamReader(System.in));
// Read welcome message from server
System.out.println(input.readLine());
// Create a thread to read messages from server
new Thread(() -> {
String serverMsg;
try {
while ((serverMsg = input.readLine()) != null) {
System.out.println(serverMsg);
}
} catch (IOException e) {
System.out.println("Disconnected from server.");
}
}).start();
// Send user input to server
String userInput;
while ((userInput = consoleInput.readLine()) != null) {
output.println(userInput);
}
} catch (IOException e) {
System.out.println("Unable to connect to server: " + e.getMessage());
}
}
}