2013-08-27 52 views
0

嗨,我是用從我的Android設備在我的電腦插座連接和發送接收數據,但在Android

問題上發送一個TCP套接字我的Asp.net應用程序的問題上ASP.net側不讀似乎與該ASP.net代碼,因爲我得到5字節收到但沒有設法讀取它們。

 try 
     { 
      listener = new TcpListener(serverPort); 
      listener.Start(); 

     }catch(SocketException se) 
     { 
      string s = se.Message; 
      Environment.Exit(se.ErrorCode); 
     } 

     byte[] rcvBuffer = new byte[5000000]; 
     int bytesRcvd; 
     int buffersize = 1024; 
     for(;;) 
     { 
      TcpClient client = null; 
      NetworkStream netStream = null; 

      try 
      { 
       client = listener.AcceptTcpClient(); 
       netStream = client.GetStream(); 

       byte[] data = new byte[client.ReceiveBufferSize]; 
       bytesRcvd = netStream.Read(rcvBuffer, 0, rcvBuffer.Length); 
       int totalBytesEchoed = 0; 

       while (bytesRcvd > 0) 
       { 
        int nextPacket = (bytesRcvd > buffersize) ? buffersize : bytesRcvd; 

        int bytes = netStream.Read(rcvBuffer, 0, bytesRcvd); 
        totalBytesEchoed += bytesRcvd; 
        string s = Encoding.ASCII.GetString(data, 0, bytes); 

       } 

       netStream.Close(); 
       client.Close(); 
      } 
      catch(Exception e) 
      { 
       netStream.Close(); 

      } 
     } 

    } 

回答

1

Read()呼叫的NetStream數據填充到rcvBuffer,但你嘗試從data緩衝讓您的字符串...

和你讀兩次嘗試獲得前字符串,一次之前,一次之內。也許你可以使用do{}while()循環。