2012-11-05 57 views
0

「我有一個簡單的客戶端運行,它連接到我的服務器;但是,連接後我不能接收任何數據我猜一些需要放入一個while循環,所以線程沒有完成但我不知道要放什麼東西在裏面。有人可以幫助我或者給我一個線索嗎?Android的TCP客戶端錯誤

Thread background=new Thread(new Runnable() { 
      public void run() { 

       try { 
         socket = new Socket("255.255.255.255", 9999); 
         dataOutputStream = new DataOutputStream(socket.getOutputStream()); 
         dataInputStream = new DataInputStream(socket.getInputStream()); 
         dataOutputStream.writeUTF("Send this text to the server"); 
         Log.i("Appname", dataInputStream.readUTF()); 

        } catch (someexceptionhere) { 

        } 

      } 
    }); 

回答

0

我報廢了我收到的方式,並且正在使用:

socket.getInputStream().read(incomingdata); 

似乎是現在的工作,THX

0

一定要刷新您的視頻流,如果他們沒有被設置爲自動刷新。

Thread background=new Thread(new Runnable() { 
    public void run() { 
    try { 
     socket = new Socket("255.255.255.255", 9999); 
     dataOutputStream = new DataOutputStream(socket.getOutputStream()); 
     dataInputStream = new DataInputStream(socket.getInputStream()); 
     dataOutputStream.writeUTF("Send this text to the server"); 
     dataOutputStream.flush(); 
     Log.i("Appname", dataInputStream.readUTF()); 
    } catch (Exception _) {} 
} 
+1

沒有工作=( 我可以直接收到一條消息後,我發送最初的一個服務器,但只有當我立即回顯消息回到客戶端。 –

0

當其run()方法返回或全部指向它被清除線程被殺害。您應該使用while循環來保持代碼的運行,但請確保在循環中使用Thread.sleep()以防止線程超載設備。 10ms或更多應該可以工作,但不要將其設置爲低於您的需要。