C# 插座。断开vs插座。关闭
有什么区别?我在使用袜子时必须遵守哪些规则?C# 插座。断开vs插座。关闭,c#,sockets,C#,Sockets,有什么区别?我在使用袜子时必须遵守哪些规则? 我正在编写一个简单的守护进程,它必须侦听端口并执行一些操作。Socket.Close调用Dispose(但它没有文档记录) 当使用面向连接的套接字时,请始终在关闭套接字之前调用Shutdown方法。这样可以确保在关闭连接的套接字之前,所有数据都在该套接字上发送和接收。() 您的代码应该如下所示(至少我会这样做): Disconnect方法采用单个参数bool reuseSocket,具体如下: 再利用小盒 类型:System.Boolean 如果当前
我正在编写一个简单的守护进程,它必须侦听端口并执行一些操作。
Socket.Close
调用Dispose
(但它没有文档记录)
当使用面向连接的套接字时,请始终在关闭套接字之前调用Shutdown方法。这样可以确保在关闭连接的套接字之前,所有数据都在该套接字上发送和接收。()
您的代码应该如下所示(至少我会这样做):
Disconnect
方法采用单个参数bool reuseSocket
,具体如下:
再利用小盒
类型:System.Boolean
如果当前连接关闭后可以重新使用此套接字,则为true;否则,错误
这基本上意味着,当您将reuseSocket
设置为false
时,它将在您关闭它后被处理
Shutdown
方法不会断开您的套接字,它只会禁用发送/接收数据。您是否检查了MSDN页面中的这两种方法?Pro答案会更好。也许我遗漏了什么?另请参见关于清理插座的正确方法:
using (var socket = new Socket())
{
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}