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(); } } }