Files
Sudoku/app/src/main/java/network/Connexion.java
Persson-dev e51cc23459
Some checks failed
Linux arm64 / Build (push) Failing after 5m5s
mooore stuff
2025-01-26 13:46:23 +01:00

41 lines
1006 B
Java

package network;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import network.protocol.Packet;
import network.protocol.PacketVisitor;
public abstract class Connexion implements PacketVisitor {
final Socket socket;
private final ObjectOutputStream objectOutputStream;
private final ConnexionThread connexionThread;
public Connexion(Socket socket) throws IOException {
this.socket = socket;
this.objectOutputStream = new ObjectOutputStream(this.socket.getOutputStream());
this.connexionThread = new ConnexionThread(this);
this.connexionThread.start();
}
public boolean isClosed() {
return this.socket.isClosed();
}
public synchronized void sendPacket(Packet packet) {
try {
objectOutputStream.writeObject(packet);
objectOutputStream.flush();
} catch (IOException e) {
System.err.println("Error while sending packet ! " + e.getLocalizedMessage());
close();
}
}
public void close() {
this.connexionThread.cancel();
}
}