C# 客户端';s断开

C# 客户端';s断开,c#,tcp,C#,Tcp,我正在使用c语言TCP协议开发一个客户端服务器应用程序。服务器将向客户端发送几个点uLocation,例如:{10300} 服务器向包含点数的所有客户端发送abroadcast消息,或者服务器可以选择一个特定的客户端并向其发送点数 以下是IP=“192.168.0.22”的特定客户端发送消息功能的代码: 我的问题是: 1-当客户端再次连接时,为什么此指令会减慢发送速率。 2-我如何修复它,或者是否有其他解决方案来选择特定的客户端?很可能,您没有正确地实现断开连接逻辑。当尝试检查不再有效的套接字实

我正在使用c语言TCP协议开发一个客户端服务器应用程序。服务器将向客户端发送几个点uLocation,例如:{10300}

服务器向包含点数的所有客户端发送abroadcast消息,或者服务器可以选择一个特定的客户端并向其发送点数

以下是IP=“192.168.0.22”的特定客户端发送消息功能的代码:

我的问题是: 1-当客户端再次连接时,为什么此指令会减慢发送速率。
2-我如何修复它,或者是否有其他解决方案来选择特定的客户端?

很可能,您没有正确地实现断开连接逻辑。当尝试检查不再有效的
套接字
实例时,可能会发生延迟。但不幸的是,您没有提供一个。如果你想得到一个好的答案,你需要显著改进这里的代码示例。是的,我知道你是对的>>我断开连接做得很好,而且很有效。。但是我仍然不知道为什么如果断开的插座没有释放,那么这个指令会降低速率…/?
                    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); 
                           }
                     }
           remoteIpEndPoint = workerSocket.RemoteEndPoint as IPEndPoint;