implement all TODO taks

This commit is contained in:
2026-06-19 16:52:29 +03:30
parent 89a7be30f4
commit d18248cfe9
3 changed files with 46 additions and 15 deletions
+17 -8
View File
@@ -39,20 +39,29 @@ public class ChatServer {
}
public void broadcast(String message, ClientHandler sender) {
// step 1: iterate through connectedClients safely
// step 2: skip the sender client
// step 3: send message to remaining clients using sendMessage
synchronized (connectedClients) {
for (ClientHandler client : connectedClients) {
if (client != sender) {
client.sendMessage(message);
}
}
}
}
public void broadcastSystemMessage(String message) {
// step 1: iterate through all connected clients
// step 2: send system message to each client
synchronized (connectedClients) {
for (ClientHandler client : connectedClients) {
client.sendMessage(message);
}
}
}
public void removeClient(ClientHandler clientHandler) {
// step 1: remove client from connectedClients set
// step 2: retrieve username from clientHandler
// step 3: broadcast system message about user leaving
connectedClients.remove(clientHandler);
broadcastSystemMessage("[System] " + clientHandler.getUsername() + " left the chat.");
}
public static void main(String[] args) {