我正在尝试使用 TCP 编写客户端/服务器类型的应用程序。客户端安装了客户端程序,该程序始终侦听端口(例如 11000)。我的服务器向其中一个客户端发送一个快速的小文本字符串(我可能正在执行一个 for 循环并且可能是数百个客户端)。现在所有这一切都在工作,除了这里的事情,如果我发送命令太快,应用程序崩溃,在这个方法中说“不能使用已处理的对象套接字”(我正在使用这个代码:http: //msdn.microsoft.com /en-us/library/bew39x2a.aspx):
private static void ConnectCallback(IAsyncResult ar)
{
// Retrieve the socket from the state object.
Socket client = (Socket)ar.AsyncState;
// Complete the connection.
client.EndConnect(ar);
// Signal that the connection has been made.
connectDone.Set();
}
有人可以帮忙吗。那个时候端口还没有开放吗?我确实在每个命令的末尾调用它:
client.Shutdown(SocketShutdown.Both);
client.Disconnect(false);
client.Close();