Archived
1
0
Fork 0
This repository has been archived on 2024-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
Java_TP/src/fr/univ/lyon1/client/ClientReceive.java

59 lines
1.5 KiB
Java

package fr.univ.lyon1.client;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
import java.net.SocketException;
public class ClientReceive implements Runnable {
private final Client client;
private ObjectInputStream in;
private final Socket socket;
public ClientReceive(Client client, Socket socket) {
this.client = client;
this.socket = socket;
}
@Override
public void run() {
try {
in = client.getIn();
} catch (IOException e) {
e.printStackTrace();
return;
}
while(true) {
Object data;
try {
data = in.readObject();
} catch (ClassNotFoundException|IOException e) {
if (e instanceof SocketException) {
System.err.println("Connexion closed");
break;
}
System.err.println("Fail to read object !");
e.printStackTrace();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
break;
}
continue;
}
if (data == null)
break;
this.client.action(data);
}
try {
client.disconnectedServer();
} catch (IOException e) {
System.err.println("Fail to disconnect !");
e.printStackTrace();
}
}
}