48a93eb75964660931a2f0cb16f18f082e51167d
5 public class SocketClient
{
6 BufferedReader lecture
; // pour le flot d'entrée venant du serveur
7 PrintWriter ecriture
; // pour le flot de sortie vers le serveur
8 Socket sock
; // le socket client
10 public SocketClient() {
11 // établie une connexion au serveur par un appel
12 // à connexionServeur()
13 connexionServeur("localhost", 5000);
16 public SocketClient(String adresseIPServeur
, int portServeur
) {
17 // établie une connexion au serveur par un appel
18 // à connexionServeur()
19 connexionServeur(adresseIPServeur
, portServeur
);
22 private void connexionServeur(String adresseIPServeur
, int portServeur
) {
23 // créer un objet socket lié au socket serveur et l'affecte à sock
24 // puis établie les chaînages de flot nécessaires
25 // pour l'envoi et la reception de messages
27 sock
= new Socket(adresseIPServeur
, portServeur
);
29 catch (IOException e
) {
30 System
.err
.println("IOException: " + e
);
32 InputStream IStream
= null;
34 IStream
= sock
.getInputStream();
36 catch (IOException e
) {
37 System
.err
.println("IOException: " + e
);
39 InputStreamReader IMesg
= new InputStreamReader(IStream
);
40 lecture
= new BufferedReader(IMesg
);
42 OutputStream OStream
= null;
44 OStream
= sock
.getOutputStream();
46 catch (IOException e
) {
47 System
.err
.println("IOException: " + e
);
49 ecriture
= new PrintWriter(OStream
);
53 * Send a message on the opened client socket
54 * @param msg a string containing the message to send
56 public synchronized void sendMsg(String msg
) {
57 //NOTE: it's not really required with one socket writer thread.
58 while (msg
.isEmpty()) {
62 catch (InterruptedException e
) {
63 System
.err
.println("InterruptedException: " + e
);
66 ecriture
.println(msg
);
72 * Receive a message sent on the opened client socket
73 * @return a string containing the received message
75 public String
receiveMsg() {
76 String line
= new String();
78 //FIXME: read only the line before the ending newline
79 line
= lecture
.readLine();
81 catch (IOException e
) {
82 System
.err
.println("IOException: " + e
);
88 * Close all opened I/O streams attached to this object instance
90 public void closeRWIO() {
95 catch (IOException e
) {
96 System
.err
.println("IOException: " + e
);
100 } // fin classe SocketClient