44 lines
938 B
Java
44 lines
938 B
Java
package network.server;
|
|
|
|
import java.io.IOException;
|
|
import java.net.InetSocketAddress;
|
|
|
|
import network.Connexion;
|
|
import network.protocol.Packet;
|
|
|
|
public class ServerReadThread extends Thread {
|
|
|
|
private final Server server;
|
|
|
|
public ServerReadThread(Server server) {
|
|
this.server = server;
|
|
}
|
|
|
|
public void cancel() {
|
|
this.server.serverSocket.close();
|
|
interrupt();
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
try {
|
|
while (!interrupted()) {
|
|
Connexion.ReadInfo read = Connexion.readPacket(this.server.serverSocket);
|
|
Packet packet = read.packet();
|
|
InetSocketAddress address = read.address();
|
|
|
|
if (!this.server.connexions.containsKey(address)) {
|
|
this.server.connexions.put(address, new ServerConnexion(address, server));
|
|
}
|
|
|
|
this.server.connexions.get(address).visit(packet);
|
|
}
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
} catch (ClassNotFoundException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
}
|