Index: /trunk/BNC/test_bnc_qt.cpp
===================================================================
--- /trunk/BNC/test_bnc_qt.cpp	(revision 379)
+++ /trunk/BNC/test_bnc_qt.cpp	(revision 380)
@@ -29,10 +29,8 @@
 
   while (true) {
-    socket.waitForReadyRead(1000);
     if ( socket.bytesAvailable() ) {
       int bytesRecv = socket.read(&flag, 1);
       if (flag == begObs) {
-        socket.waitForReadyRead(1000);
-        if ( socket.bytesAvailable() ) {
+        if ( socket.bytesAvailable() >= sizeof(obs) ) {
           bytesRecv = socket.read((char*) &obs, sizeof(obs));
           cout << setw(5)                     << obs.StatID         << " "
@@ -53,4 +51,7 @@
       }
     }
+    else {
+      socket.waitForReadyRead(100);
+    }
   }
 
