TD2: Simplify the object serialization trough socket.
[TD_SR.git] / TD2 / client / SocketClient.java
index 3c6d021c605f3a22a7d9537d8f1bf830a28854f7..15ed27935892cd325019bb81689a6ce69037323a 100644 (file)
@@ -18,6 +18,21 @@ public class SocketClient {
         }
         catch (IOException e) {
             System.err.println("IOException: " + e);
+            e.printStackTrace();
+            closeRWIO();
+        }
+    }
+
+    public SocketClient(boolean withoStream) {
+        // établie une connexion au serveur par un appel
+        // à connexionServeur()
+        attributesInit();
+        try {
+            connexionServeur("localhost", 5000, withoStream);
+        }
+        catch (IOException e) {
+            System.err.println("IOException: " + e);
+            e.printStackTrace();
             closeRWIO();
         }
     }
@@ -31,11 +46,12 @@ public class SocketClient {
         }
         catch (IOException e) {
             System.err.println("IOException: " + e);
+            e.printStackTrace();
             closeRWIO();
         }
     }
 
-    private void connexionServeur(String adresseIPServeur, int portServeur) throws IOException {
+    private void connexionServeur(String adresseIPServeur, int portServeur, boolean hasoStream) throws IOException {
         // 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
@@ -43,12 +59,21 @@ public class SocketClient {
 
         OutputStream OStream = sock.getOutputStream();
         ecriture = new PrintWriter(OStream);
-        oEcriture = new ObjectOutputStream(OStream);
+        if (hasoStream)
+            oEcriture = new ObjectOutputStream(OStream);
 
         InputStream IStream = sock.getInputStream();
         InputStreamReader IMesg = new InputStreamReader(IStream);
         lecture = new BufferedReader(IMesg);
-        oLecture = new ObjectInputStream(IStream);
+        if (hasoStream)
+            oLecture = new ObjectInputStream(IStream);
+    }
+
+    private void connexionServeur(String adresseIPServeur, int portServeur) throws IOException {
+        // 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
+        connexionServeur(adresseIPServeur, portServeur, false);
     }
 
     private void attributesInit() {
@@ -115,6 +140,7 @@ public class SocketClient {
         }
         catch (IOException e) {
             System.err.println("IOException: " + e);
+            e.printStackTrace();
         }
     }