没有遇到过,可能是网络发送数据引起的,
client.Receive(bytes);  这句你直接这样写会出问题

解决方案 »

  1.   

    加个循环和读取长度
    int i=0
    while(true){
    if(client.Receive(bytes,0,bytes.length)<0){break;}
    }
    当然上面这句会造成阻塞,如果只是学习可以这样写来玩,如果要做实际的功能就得重新用一个思路了。
    如你是读取的http协议,所以你提按照他的方式来读,先接收一部份数据,检查是事把header头读完毕,如果读完毕就解析头,并从头中得到content-length的长度,然后再根据这个值来读取剩下的,如果没有content-length那就用的分段发送再按分段发送的方式来读。这样就可以解决阻塞问题