implement all TODOs #2

Open
emad wants to merge 2 commits from develop into main
2 changed files with 11 additions and 10 deletions
Showing only changes of commit 53e40ca2f5 - Show all commits
+10 -9
View File
@@ -42,11 +42,11 @@ public class ChatServer {
// step 1: iterate through connectedClients safely
// step 2: skip the sender client
// step 3: send message to remaining clients using sendMessage
for(ClientHandler client: connectedClients)
{
if(!client.getUsername().equals(sender.getUsername()))
{
client.sendMessage(message);
synchronized (connectedClients) {
for (ClientHandler client : connectedClients) {
if (client != sender) {
client.sendMessage(message);
}
}
}
}
@@ -54,9 +54,10 @@ public class ChatServer {
public void broadcastSystemMessage(String message) {
// step 1: iterate through all connected clients
// step 2: send system message to each client
for(ClientHandler client: connectedClients)
{
client.sendMessage(message);
synchronized (connectedClients) {
for (ClientHandler client : connectedClients) {
client.sendMessage(message);
}
}
}
@@ -65,7 +66,7 @@ public class ChatServer {
// step 2: retrieve username from clientHandler
// step 3: broadcast system message about user leaving
connectedClients.remove(clientHandler);
broadcastSystemMessage(clientHandler.getUsername() + " left");
broadcastSystemMessage("[System] " + clientHandler.getUsername() + " left the chat");
}
public static void main(String[] args) {
+1 -1
View File
@@ -23,7 +23,7 @@ public class MessageListener implements Runnable {
}
} catch (IOException e) {
throw new RuntimeException(e);
System.err.println(e.getMessage());
}
}
}