This commit is contained in:
@@ -7,11 +7,16 @@ public class Client {
|
||||
private final ClientConnexion clientConnection;
|
||||
|
||||
public Client(String address, short port) throws UnknownHostException, IOException {
|
||||
this.clientConnection = new ClientConnexion(address, port);
|
||||
this.clientConnection = new ClientConnexion(address, port, this);
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
this.clientConnection.close();
|
||||
}
|
||||
|
||||
public void onDisconnect() {
|
||||
// do some stuff
|
||||
System.out.println("OSEKOUR");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,29 +5,39 @@ import java.net.Socket;
|
||||
import java.net.UnknownHostException;
|
||||
|
||||
import network.Connexion;
|
||||
import network.packets.ConnexionInfoPacket;
|
||||
import network.packets.KeepAlivePacket;
|
||||
import network.protocol.packets.ConnexionInfoPacket;
|
||||
import network.protocol.packets.DisconnectPacket;
|
||||
import network.protocol.packets.KeepAlivePacket;
|
||||
|
||||
public class ClientConnexion extends Connexion {
|
||||
|
||||
public ClientConnexion(String address, short port) throws UnknownHostException, IOException {
|
||||
private final Client client;
|
||||
|
||||
public ClientConnexion(String address, short port, Client client) throws UnknownHostException, IOException {
|
||||
super(new Socket(address, port));
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(ConnexionInfoPacket packet) {
|
||||
|
||||
public void close() {
|
||||
super.close();
|
||||
client.onDisconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(KeepAlivePacket packet) {
|
||||
System.out.println("Coucou !!!!!!!!!!!!!!!!!!!");
|
||||
try {
|
||||
sendPacket(packet);
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
public void visitPacket(ConnexionInfoPacket packet) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPacket(KeepAlivePacket packet) {
|
||||
// we just send the packet back to the server
|
||||
sendPacket(packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitPacket(DisconnectPacket packet) {
|
||||
close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
package network.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import network.Packet;
|
||||
import network.PacketVisitor;
|
||||
|
||||
public class PacketDispatcher {
|
||||
|
||||
private final List<PacketVisitor> handlers;
|
||||
|
||||
public PacketDispatcher() {
|
||||
this.handlers = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void dispatch(Packet packet) {
|
||||
for (PacketVisitor handler : handlers) {
|
||||
handler.visit(packet);
|
||||
}
|
||||
}
|
||||
|
||||
public void registerHandler(PacketVisitor handler) {
|
||||
handlers.add(handler);
|
||||
}
|
||||
|
||||
public void unregisterHandler(PacketVisitor handler) {
|
||||
handlers.remove(handler);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user