我通过dotnetty(C#)写了个服务器,主要功能是A,B客户端连接之后,A客户端发送信息经服务器转发给B客户端。
发送消息代码:
int count = 0;
while (count<40)
{
count += 1;
byte[] bt = new byte[0];
byte[] buffer = Encoding.UTF8.GetBytes("hello");
int receive = socketSend.Send(buffer);
Thread.Sleep(300)
}
上述代码是A客户端发送消息代码,发送频率控制再一秒3次左右,经服务器到B客户端没有问题,如果设置成Thread.Sleep(30),每秒30次左右。 发送5次左右之后,A客户端就掉线了,错误定位怎么还显示在int receive = socketSend.Send(buffer); 这一行? , 请教啥原因呢?是因为接受或发送缓冲区问题么?
补充:只有A客户端上线,B客户端不上线,每秒发送30次左右的数据,A客户端也正常,不掉线。