61 řádky
1,5 KiB
Java
61 řádky
1,5 KiB
Java
package communication;
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStreamReader;
|
|
import java.io.ObjectInputStream;
|
|
import java.io.ObjectOutputStream;
|
|
import java.io.OutputStream;
|
|
import java.io.PrintWriter;
|
|
import java.net.InetAddress;
|
|
import java.net.Socket;
|
|
|
|
import main.Observer;
|
|
import main.VueSession;
|
|
import messages.MessageTexte;
|
|
import messages.MauvaisTypeMessageException;
|
|
import messages.Message;
|
|
import messages.Message.TypeMessage;
|
|
|
|
public class TCPClient {
|
|
|
|
private Socket sockTCP;
|
|
private ObjectOutputStream output;
|
|
private TCPInputThread inputThread;
|
|
|
|
public TCPClient(Socket sockTCP) throws IOException {
|
|
this.sockTCP = sockTCP;
|
|
|
|
this.output = new ObjectOutputStream(this.sockTCP.getOutputStream()) ;
|
|
ObjectInputStream input = new ObjectInputStream(this.sockTCP.getInputStream());
|
|
this.inputThread = new TCPInputThread(input);
|
|
}
|
|
|
|
public TCPClient(InetAddress addr, int port) throws IOException {
|
|
this(new Socket(addr, port)) ;
|
|
|
|
}
|
|
|
|
public void connexionAccepted() throws IOException {
|
|
|
|
System.out.println("avant vue");
|
|
|
|
new VueSession("Application", this);
|
|
|
|
}
|
|
|
|
public void startInputThread() {
|
|
this.inputThread.start();
|
|
}
|
|
|
|
public void sendMessage(String contenu) throws IOException, MauvaisTypeMessageException {
|
|
System.out.println("dans write");
|
|
MessageTexte message = new MessageTexte(TypeMessage.TEXTE, contenu);
|
|
this.output.writeObject(message);
|
|
}
|
|
|
|
public void setObserverInputThread(Observer o) {
|
|
this.inputThread.setObserver(o);
|
|
}
|
|
}
|