TD2: Make the IHM client with one receive thread and one send thread.
[TD_SR.git] / TD2 / IHM / IHM.java
index a414ec64c6c4f646258eb6b14daa163a39aef5dd..08cbf2c8aba88b01c349fa57a2c31c5dfc3c9f55 100644 (file)
@@ -12,7 +12,6 @@ import javax.swing.JTextArea;
 import javax.swing.JTextField;
 import javax.swing.ScrollPaneConstants;
 
-import java.io.IOException;
 
 /**
  * Applications rĂ©parties
@@ -29,11 +28,9 @@ public class IHM implements ActionListener {
     private JTextArea entrants;
     private JTextField sortants;
     private ArrayList<String> sendMessages;
-    private SocketClient socketCl;
 
     IHM() {
         sendMessages = new ArrayList<String>();
-        socketCl = new SocketClient();
     }
 
     public void go() {
@@ -67,7 +64,7 @@ public class IHM implements ActionListener {
         this.notify();
     }
 
-    synchronized public void getAndSendNextMessage() {
+    synchronized public String getNextMessageToSend() {
         try {
             if (sendMessages.isEmpty())
                 this.wait();
@@ -77,36 +74,13 @@ public class IHM implements ActionListener {
             e.printStackTrace();
         }
         String mess = (String)sendMessages.remove(0);
-        //System.out.println("IHM -> message a envoyer : " + mess);
-        socketCl.sendMsg(mess);
+        System.out.println("IHM -> message a envoyer : " + mess);
+        return mess;
     }
 
-    public void writeMessage() throws IOException {
-        String mess = socketCl.receiveMsg();
-        //System.out.println("IHM -> message a ecrire : " + mess);
+    public void writeMessage(String mess) {
+        System.out.println("IHM -> message a ecrire : " + mess);
         entrants.append(mess + "\n");
     }
 
-    public void close() {
-        socketCl.closeRWIO();
-    }
-
-    public static void main (String[] args) {
-        IHM client = new IHM();
-        try {
-            client.go();
-            while (true) {
-                client.getAndSendNextMessage();
-                client.writeMessage();
-            }
-        }
-        catch (IOException e) {
-            System.err.println("IOException : " + e);
-            e.printStackTrace();
-        }
-        finally {
-            client.close();
-        }
-    }
-
 } // fin classe SimpleClientDiscussion