我正在尝试处理一个控制台应用程序,处理这个问题的一部分就是关闭服务器套接字,但是当我尝试我得到一个SocketException并且我不确定为什么?
System.Net.Sockets.SocketException:'发送或接收数据的请求 被禁止,因为套接字没有连接(发送时) 在使用sendto调用的数据报套接字上没有提供地址'
我通过调用Socket.Shutdown来处理这个类,这是抛出错误的地方。
public void Dispose()
{
if (_serverSocket == null)
{
return;
}
_serverSocket.Shutdown(SocketShutdown.Both);
_serverSocket.Close();
_serverSocket.Dispose();
}
答案 0 :(得分:0)
因为
_serverSocket.Shutdown(SocketShutdown.Both);
_serverSocket.Close();
已经断开连接,因此您不再需要_serverSocket.Dispose();