Add Registration functionality and tidy up
[WeStealzYourDataz.git] / src / uk / ac / ntu / n0521366 / wsyd / libs / net / NetworkStream.java
index 48da1b7..d451e89 100644 (file)
@@ -89,8 +89,12 @@ public class NetworkStream extends SwingWorker<Boolean, NetworkMessage> {
         boolean expectingLong = true;
         
         while (!this.isCancelled()) {
-            
             // check for incoming message
+            if (_socketIS.available() > 0) {
+                System.err.println(" reading Object from stream, bytes available: " + _socketIS.available());
+                read();
+            }
+            /*
             if (_ois.available() >= expectedLength) {
                 if (expectingLong == true) {                  
                     expectedLength = _ois.readLong();
@@ -105,6 +109,7 @@ public class NetworkStream extends SwingWorker<Boolean, NetworkMessage> {
                     expectingLong = true;
                 }
             }
+            */
             // send a queued message
             NetworkMessage temp = this.sendMessage();
             if (temp != null) {
@@ -140,12 +145,10 @@ public class NetworkStream extends SwingWorker<Boolean, NetworkMessage> {
             try {             
                 _oos.writeObject(message);
                 _oos.flush();
-                long messageSize = _baos.size();
-                _socketOS.writeLong(messageSize);
-                System.err.println(" bytes to write: " + messageSize);
-                _baos.writeTo(_socketOS);
+                Long messageSize = new Long(_baos.size());
+                _socketOS.writeObject(message);
                 _socketOS.flush();
-                System.err.println("baos.size()=" + _baos.size());
+                System.err.println(" bytes written: " + messageSize);
                 
                 result = true;
                 
@@ -169,17 +172,17 @@ public class NetworkStream extends SwingWorker<Boolean, NetworkMessage> {
         
         try {
             NetworkMessage message = null;
+            String s = null;
 
-            try {
-                message = (NetworkMessage)_ois.readObject();
-            } catch (java.io.OptionalDataException ex) {
-                System.err.println("Length: " + ex.length + " EOF: " + ex.eof);
-                ex.printStackTrace();
-            }
+            message = (NetworkMessage)_ois.readObject();
+            System.err.println(" received: " + message.toString());
             message.setKey(_key);
             publish(message);
             
             result = true;
+        } catch (java.io.OptionalDataException ex) {
+            System.err.println("Length: " + ex.length + " EOF: " + ex.eof);
+            ex.printStackTrace();
         } catch (IOException ex) {
             Logger.getLogger(NetworkStream.class.getName()).log(Level.SEVERE, null, ex);
             // FIXME: Replace logger