2013-08-27 70 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()循环。