TD2: Add preliminary code for question 1.
[TD_SR.git] / TD2 / ClientSimplifie.java
1 import java.io.*;
2 import java.net.*;
3 import java.util.*;
4
5 public class ClientSimplifie {
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
9
10 public ClientSimplifie() {
11 // établie une connexion au serveur par un appel
12 // à connexionServeur()
13 connexionServeur("localhost", 5000);
14 }
15
16 public ClientSimplifie(String adresseIPServeur, int portServeur) {
17 // établie une connexion au serveur par un appel
18 // à connexionServeur()
19 connexionServeur(adresseIPServeur, portServeur);
20 }
21
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
26 try {
27 sock = new Socket(adresseIPServeur, portServeur);
28 }
29 catch (IOException e) {}
30 InputStream IStream = null;
31 try {
32 IStream = sock.getInputStream();
33 } catch (IOException e) {}
34 InputStreamReader IMesg = new InputStreamReader(IStream);
35 lecture = new BufferedReader(IMesg);
36
37 OutputStream OStream = null;
38 try {
39 OStream = sock.getOutputStream();
40 }
41 catch (IOException e) {}
42 ecriture = new PrintWriter(OStream);
43 }
44
45 public void sendMsg(String msg) {
46 ecriture.println(msg + "\n");
47 ecriture.flush();
48 }
49
50 public String receiveMsg() {
51 String line = new String();
52 try {
53 //FIXME: read only the line before the ending newline
54 line = lecture.readLine();
55 }
56 catch (IOException e) {}
57 return line;
58 }
59
60 public void closeRWIO() {
61 ecriture.close();
62 try {
63 lecture.close();
64 }
65 catch (IOException e) {}
66 }
67
68 } // fin classe ClientSimplifie