我正在使用c#语言TCP协议处理客户端服务器应用程序。服务器将向客户端发送多个_ _ _位点,例如:{10,300}。
服务器向所有包含点的客户端发送onlinecast消息,或者服务器可以选择特定的客户端并向他发送积分。
这是IP =“192.168.0.22”的特定客户端的sending_message函数的代码:
for (int i = 0; i < workerSocketList.Count ; i++)
{
workerSocket = (Socket)workerSocketList[i];
try
{
remoteIpEndPoint = workerSocket.RemoteEndPoint as IPEndPoint;
if (remoteIpEndPoint.Address.ToString() == "192.168.0.22")
{
if (workerSocket != null)
{
if (workerSocket.Connected)
{
workerSocket.Send(byData);
}
}
}
}
catch (Exception fgfg)
{
//MessageBox.Show(fgfg.StackTrace);
}
}
当没有发生断线时,此功能工作正常(网络速率发送点) 这里的问题是当客户端断开连接并再次重新连接时。服务器将以slaw率发送点数。我追踪了这个问题,我在这个指令中找到了它:
remoteIpEndPoint = workerSocket.RemoteEndPoint as IPEndPoint;
我的问题是: 1-当客户端再次重新连接时,为什么该指令会降低发送速率。 2-我该如何修复它还是有另一种选择特定客户的解决方案吗?