45 lines
957 B
Java
45 lines
957 B
Java
package network;
|
|
|
|
import java.io.IOException;
|
|
import java.io.ObjectInputStream;
|
|
|
|
import network.protocol.Packet;
|
|
|
|
public class ConnexionThread extends Thread {
|
|
|
|
private final Connexion connexion;
|
|
private final ObjectInputStream objectInputStream;
|
|
|
|
public ConnexionThread(Connexion connexion) throws IOException {
|
|
this.connexion = connexion;
|
|
this.objectInputStream = new ObjectInputStream(this.connexion.socket.getInputStream());
|
|
}
|
|
|
|
@Override
|
|
public void run() {
|
|
while (!interrupted()) {
|
|
try {
|
|
// System.out.println(objectInputStream.available());
|
|
Object o = objectInputStream.readObject();
|
|
if (o instanceof Packet packet) {
|
|
connexion.visit(packet);
|
|
}
|
|
} catch (ClassNotFoundException | IOException e) {
|
|
e.printStackTrace();
|
|
this.connexion.close();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void cancel() {
|
|
try {
|
|
objectInputStream.close();
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
interrupt();
|
|
}
|
|
|
|
}
|