2012-05-21 60 views
0

我有一個TCP服務器,是不是在java中也是它的一個硬件設備,我需要發送和receve數據,Android客戶端插座不接收數據

我與服務器連接和使用發送一些配置數據下面的代碼

  this.clientSocket=new Socket("198.168.1.17",9999); 
     this.os=new DataOutputStream(this.clientSocket.getOutputStream()); 
     this.in=new DataInputStream(this.clientSocket.getInputStream()); 
     System.out.println("Conncted"); 


      char data[]={0x03,0x03,0x00}; 
      byte b[]=new byte[data.length]; 
      for (int i = 0; i < b.length; i++) { 
       b[i] = (byte) data[i]; 
      } 
      try { 
       os.write(b); 

設備正確地接收數據,現在在我的TCP客戶端我不能夠接收數據,雖然我寫剛過上面的代碼下面的代碼

  int size =in.available(); 
       byte data1[]=new byte[size]; 
       // in.read(data1); 
       String str=new String(data1); 
       System.out.println("Reading data:"+str); 

只顯示讀取數據,並串並沒有數據 也是我在線程嘗試有關代碼

 public void run(){ 
try{ 
    while(true){ 
     int size =in.available(); 
     byte data[]=new byte[size]; 
     in.read(data); 
     String str=new String(data); 
     System.out.println("Reading data:"+str); 



    } 

螺紋那隻能說明讀取數據, 請幫助我如何從服務器獲取數據也請注意服務器建在我不能改變服務器代碼

+0

什麼返回'in.available()'?你確定服務器對你的請求做出了迴應嗎? –

回答

0

代碼什麼可用的()方法做「詮釋大小= in.available();」 ????????

解決方案可能是: available()方法返回0,因此您無法接收數據。

+0

好吧,那我怎麼才能等待服務器響應,但服務器沒有senfing \ -N,意味着我要發送的命令逐個? – Ali

相關問題