This commit is contained in:
39
app/src/main/java/network/ConnexionThread.java
Normal file
39
app/src/main/java/network/ConnexionThread.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package network;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
|
||||
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 {
|
||||
Object o = objectInputStream.readObject();
|
||||
if (o instanceof Packet packet) {
|
||||
connexion.visit(packet);
|
||||
}
|
||||
} catch (ClassNotFoundException | IOException e) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void cancel() {
|
||||
try {
|
||||
objectInputStream.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
interrupt();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user