feat: add public message
This commit is contained in:
@@ -42,6 +42,10 @@ public class MessageProcessor {
|
|||||||
case "/disconnect":
|
case "/disconnect":
|
||||||
handleDisconnect();
|
handleDisconnect();
|
||||||
break;
|
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() {
|
private void handleMsgCommand() {
|
||||||
Server.sendMessage(
|
Server.sendMessage(
|
||||||
clientHandlerSocket,
|
clientHandlerSocket,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.io.IOException;
|
|||||||
import java.net.DatagramPacket;
|
import java.net.DatagramPacket;
|
||||||
import java.net.DatagramSocket;
|
import java.net.DatagramSocket;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
@@ -179,6 +180,10 @@ public class Server {
|
|||||||
return mapPseudosConnectedClientsHandlers.get(pseudo);
|
return mapPseudosConnectedClientsHandlers.get(pseudo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Collection<ClientHandler> getAllClientHandlers() {
|
||||||
|
return mapPseudosConnectedClientsHandlers.values();
|
||||||
|
}
|
||||||
|
|
||||||
public void addConnectedClientHandler(
|
public void addConnectedClientHandler(
|
||||||
String pseudo,
|
String pseudo,
|
||||||
ClientHandler clientHandler
|
ClientHandler clientHandler
|
||||||
|
|||||||
Reference in New Issue
Block a user