Files
Projet-UDP/ChatApp/app/src/main/java/client/Client.java
Clément e536a45266 Migrate everything on Gradle
Also added tasks to run the server & client separately
2025-03-04 15:08:43 +01:00

54 lines
1.3 KiB
Java

package client;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.net.SocketException;
import network.protocol.packets.*;
public class Client {
private final ClientConnexion connexion;
private final ClientListener callback;
public Client(InetSocketAddress serverAddress, ClientListener callback, String pseudo) throws SocketException {
this.connexion = new ClientConnexion(new DatagramSocket(), serverAddress, callback);
this.callback = callback;
login(pseudo);
}
public void close() {
this.connexion.sendPacket(new DisconnectPacket("Leaving"));
this.connexion.close();
this.callback.handleDisconnect();
}
private void login(String pseudo) {
this.connexion.sendPacket(new LoginPacket(pseudo));
}
public void SendChatMessage(String message) {
this.connexion.sendPacket(new SendChatMessagePacket(message));
}
public void SendCreateRoom(String roomName) {
this.connexion.sendPacket(new CreateRoomPacket(roomName));
}
public void SendJoinRoom(String roomName) {
this.connexion.sendPacket(new JoinRoomPacket(roomName));
}
public void SendLeaveRoom() {
this.connexion.sendPacket(new LeaveRoomPacket());
}
public void RequestRoomList() {
this.connexion.sendPacket(new RequestRoomListPacket());
}
public void RequestActualRoom() {
this.connexion.sendPacket(new RequestActualRoomPacket());
}
}