big socket refactor
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
package client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.DatagramSocket;
|
||||
import java.net.InetSocketAddress;
|
||||
|
||||
import network.PacketHandler;
|
||||
import network.SocketReader;
|
||||
import network.SocketWriter;
|
||||
import network.Socket;
|
||||
import network.protocol.Packet;
|
||||
import network.protocol.PacketVisitor;
|
||||
import network.protocol.packets.*;
|
||||
@@ -14,16 +12,15 @@ import network.protocol.packets.*;
|
||||
public class ClientConnexion implements PacketVisitor, PacketHandler {
|
||||
|
||||
private final InetSocketAddress serverAddress;
|
||||
private final SocketWriter writer;
|
||||
private final SocketReader reader;
|
||||
private final Socket socket;
|
||||
private final ClientListener callback;
|
||||
private volatile boolean connected = false;
|
||||
|
||||
public ClientConnexion(DatagramSocket socket, InetSocketAddress serverAddress, ClientListener callback) {
|
||||
public ClientConnexion(Socket socket, InetSocketAddress serverAddress, ClientListener callback) {
|
||||
this.serverAddress = serverAddress;
|
||||
this.writer = new SocketWriter(socket);
|
||||
this.reader = new SocketReader(socket, this);
|
||||
this.socket = socket;
|
||||
this.callback = callback;
|
||||
this.socket.addHandler(this);
|
||||
spamHandshake();
|
||||
}
|
||||
|
||||
@@ -48,12 +45,12 @@ public class ClientConnexion implements PacketVisitor, PacketHandler {
|
||||
}
|
||||
|
||||
public void close() {
|
||||
this.reader.stop();
|
||||
this.socket.close();
|
||||
}
|
||||
|
||||
public void sendPacket(Packet packet) {
|
||||
try {
|
||||
this.writer.sendPacket(packet, serverAddress);
|
||||
this.socket.sendPacket(packet, serverAddress);
|
||||
} catch (IOException e) {
|
||||
this.close();
|
||||
this.callback.handleConnexionError();
|
||||
|
||||
Reference in New Issue
Block a user