同一段function,经调试发现在不同的机器上竟然收到的数据不一样多。
mes 为定义的string;buffer为512

while(true)
{
System.Threading.Thread.Sleep(500); //WARNING, Sridhar - Seems there is a problem with Receive
int bytes = cSocket.Receive(buffer, buffer.Length, 0);
mes += ASCII.GetString(buffer, 0, bytes);
if(bytes < buffer.Length)
{
break;
}
}
在我自己机器上可以循环5 次,但是放到server上后,发现只能循环3次,怎么回事???

解决方案 »

  1.   

    我觉得是:
    while(true)
    {
        //System.Threading.Thread.Sleep(500); //WARNING, Sridhar - Seems there is a problem with Receive
        int bytes = cSocket.Receive(buffer, buffer.Length, 0);
        mes += ASCII.GetString(buffer, 0, bytes);
        if(bytes <= 0)
        {
            break;
        }
      

  2.   

    你把socket的receivetimeout设高点