bytes = socket.Receive(RecvData,  RecvData.Length, 0);
RequestMessage = myEncoding.GetString(RecvData, 0, bytes);//如果没有这个while语句,程序就没有问题。大家可以把它说明掉试一下。
while ( bytes > 0 ){
bytes = socket.Receive(RecvData,  RecvData.Length, 0);
RequestMessage = RequestMessage +  myEncoding.GetString(RecvData, 0, bytes);
}Receive方法会阻塞,即使Client发完了数据,不再发来了,Receive还是在那里傻等着,直到读到数据,而读到数据以后bytes>0了,所以while循环退不出去。
建议把以上代码单独放到一个线程,不停的接收来自Client端的信息,这样比较好