52 lines
1.3 KiB
Java
52 lines
1.3 KiB
Java
package clientserver.server;
|
|
|
|
import clientserver.client.Client;
|
|
import java.net.DatagramPacket;
|
|
import java.net.DatagramSocket;
|
|
|
|
public class MessageProcessor {
|
|
|
|
private final Client client;
|
|
private final DatagramSocket clientHandlerSocket;
|
|
private final ClientHandler clientHandler;
|
|
|
|
public MessageProcessor(
|
|
Client client,
|
|
DatagramSocket clientHandlerSocket,
|
|
ClientHandler clientHandler
|
|
) {
|
|
this.client = client;
|
|
this.clientHandlerSocket = clientHandlerSocket;
|
|
this.clientHandler = clientHandler;
|
|
}
|
|
|
|
public void processMessage(String message) {
|
|
if (message == null) {
|
|
return;
|
|
}
|
|
|
|
if (message.equals("/list")) {
|
|
handleListCommand();
|
|
} else if (message.equals("DISCONNECT")) {
|
|
handleDisconnect();
|
|
}
|
|
}
|
|
|
|
private void handleListCommand() {
|
|
Server.sendMessage(
|
|
clientHandlerSocket,
|
|
Server.getPseudos(),
|
|
client.getAddress(),
|
|
client.getPort()
|
|
);
|
|
}
|
|
|
|
private void handleDisconnect() {
|
|
System.out.println(
|
|
"Client deconnection : " + ClientHandler.prettyPrint(client)
|
|
);
|
|
Server.removeClientHandler(client.getPseudo());
|
|
clientHandler.stop();
|
|
}
|
|
}
|