forked from AdvancedProgramming1404/WS-09-Network
implementation
This commit is contained in:
@@ -42,11 +42,11 @@ public class ChatServer {
|
|||||||
// step 1: iterate through connectedClients safely
|
// step 1: iterate through connectedClients safely
|
||||||
// step 2: skip the sender client
|
// step 2: skip the sender client
|
||||||
// step 3: send message to remaining clients using sendMessage
|
// step 3: send message to remaining clients using sendMessage
|
||||||
for(ClientHandler client: connectedClients)
|
synchronized (connectedClients) {
|
||||||
{
|
for (ClientHandler client : connectedClients) {
|
||||||
if(!client.getUsername().equals(sender.getUsername()))
|
if (client != sender) {
|
||||||
{
|
client.sendMessage(message);
|
||||||
client.sendMessage(message);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -54,9 +54,10 @@ public class ChatServer {
|
|||||||
public void broadcastSystemMessage(String message) {
|
public void broadcastSystemMessage(String message) {
|
||||||
// step 1: iterate through all connected clients
|
// step 1: iterate through all connected clients
|
||||||
// step 2: send system message to each client
|
// step 2: send system message to each client
|
||||||
for(ClientHandler client: connectedClients)
|
synchronized (connectedClients) {
|
||||||
{
|
for (ClientHandler client : connectedClients) {
|
||||||
client.sendMessage(message);
|
client.sendMessage(message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +66,7 @@ public class ChatServer {
|
|||||||
// step 2: retrieve username from clientHandler
|
// step 2: retrieve username from clientHandler
|
||||||
// step 3: broadcast system message about user leaving
|
// step 3: broadcast system message about user leaving
|
||||||
connectedClients.remove(clientHandler);
|
connectedClients.remove(clientHandler);
|
||||||
broadcastSystemMessage(clientHandler.getUsername() + " left");
|
broadcastSystemMessage("[System] " + clientHandler.getUsername() + " left the chat");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class MessageListener implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
System.err.println(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user