feat: add public message
This commit is contained in:
@@ -42,6 +42,10 @@ public class MessageProcessor {
|
||||
case "/disconnect":
|
||||
handleDisconnect();
|
||||
break;
|
||||
default:
|
||||
// Broadcast message to all clients
|
||||
broadcastMessage(message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,6 +99,20 @@ public class MessageProcessor {
|
||||
);
|
||||
}
|
||||
|
||||
private void broadcastMessage(String message) {
|
||||
String formattedMessage = "> " + client.getPseudo() + ": " + message;
|
||||
|
||||
for (ClientHandler handler : Server.getAllClientHandlers()) {
|
||||
Client targetClient = handler.getClient();
|
||||
Server.sendMessage(
|
||||
clientHandlerSocket,
|
||||
formattedMessage,
|
||||
targetClient.getAddress(),
|
||||
targetClient.getPort()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleMsgCommand() {
|
||||
Server.sendMessage(
|
||||
clientHandlerSocket,
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.io.IOException;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetAddress;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -179,6 +180,10 @@ public class Server {
|
||||
return mapPseudosConnectedClientsHandlers.get(pseudo);
|
||||
}
|
||||
|
||||
public static Collection<ClientHandler> getAllClientHandlers() {
|
||||
return mapPseudosConnectedClientsHandlers.values();
|
||||
}
|
||||
|
||||
public void addConnectedClientHandler(
|
||||
String pseudo,
|
||||
ClientHandler clientHandler
|
||||
|
||||
Reference in New Issue
Block a user