TD2: Add preliminary code for question 1.
[TD_SR.git] / TD2 / ClientSimplifie.java
diff --git a/TD2/ClientSimplifie.java b/TD2/ClientSimplifie.java
new file mode 100644 (file)
index 0000000..35f389d
--- /dev/null
@@ -0,0 +1,68 @@
+import java.io.*;
+import java.net.*;
+import java.util.*;
+
+public class ClientSimplifie {
+    BufferedReader lecture;  // pour le flot d'entrée venant du serveur
+    PrintWriter ecriture;  // pour le flot de sortie vers le serveur
+    Socket sock; // le socket client
+
+    public ClientSimplifie() {
+        // établie une connexion au serveur par un appel
+        // à connexionServeur()
+        connexionServeur("localhost", 5000);
+    }
+
+    public ClientSimplifie(String adresseIPServeur, int portServeur) {
+        // établie une connexion au serveur par un appel
+        // à connexionServeur()
+        connexionServeur(adresseIPServeur, portServeur);
+    }
+
+    private void connexionServeur(String adresseIPServeur, int portServeur) {
+        // créer un objet socket lié au socket serveur et l'affecte à sock
+        // puis établie les chaînages de flot nécessaires
+        // pour l'envoi et la reception de messages
+        try {
+            sock = new Socket(adresseIPServeur, portServeur);
+        }
+        catch (IOException e) {}
+        InputStream IStream = null;
+        try {
+            IStream = sock.getInputStream();
+        } catch (IOException e) {}
+        InputStreamReader IMesg = new InputStreamReader(IStream);
+        lecture = new BufferedReader(IMesg);
+
+        OutputStream OStream = null;
+        try {
+            OStream = sock.getOutputStream();
+        }
+        catch (IOException e) {}
+        ecriture = new PrintWriter(OStream);
+    }
+
+    public void sendMsg(String msg) {
+        ecriture.println(msg + "\n");
+        ecriture.flush();
+    }
+
+    public String receiveMsg() {
+        String line = new String();
+        try {
+            //FIXME: read only the line before the ending newline
+            line = lecture.readLine();
+        }
+               catch (IOException e) {}
+        return line;
+    }
+
+    public void closeRWIO() {
+        ecriture.close();
+               try {
+                       lecture.close();
+               }
+               catch (IOException e) {}
+    }
+
+} // fin classe ClientSimplifie