feat: subdivide clienthandler into messageprocessor
This commit is contained in:
51
app/src/main/java/clientserver/server/MessageProcessor.java
Normal file
51
app/src/main/java/clientserver/server/MessageProcessor.java
Normal file
@@ -0,0 +1,51 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user