getdata.Start(socketSend);
}
}
Dictionary<string, Socket> dic = new Dictionary<string, Socket>();
/// <summary>
/// 不停的接收客户端发送过来的消息
/// </summary>
/// <param name="o"></param>
void GetData(object o)
{
while (true)
{
Socket socketSend = o as Socket;
//将客户端发过来的数据先放到一个字节数组里面去
byte[] buffer = new byte[1024 * 1024 * 2]; //创建一个字节数组,字节数组的长度为2M
//实际接收到的有效字节数; (利用Receive方法接收客户端传过来的数据,然后把数据保存到buffer字节数组中,返回一个接收到的数据的长度)
int r = socketSend.Receive(buffer);
if (r == 0) //如果接收到的有效字节数为0 说明客户端已经关闭了。这时候就跳出循环了。
{
//只有客户端给用户发消息,不可能是发0个长度的字节。即便发空消息,空消息也是有过个长度的。所有接收到的有效字节长度为0就代表客户端已经关闭了
break;
}










