使用袜子时,我必须遵循哪些区别和规则? 我正在编写简单的守护进程,它必须侦听端口并执行某些操作。
答案 0 :(得分:6)
Socket.Close
和Dispose
方法实际上是相同的,所以我只使用using
语句。因为在关闭套接字之前你应该总是调用Shutdown
,你的代码应该是这样的(至少我会这样做):
using (var socket = new Socket( ))
{
socket.Shutdown(SocketShutdown.Both);
}
关于disconnect
:它需要单个参数bool reuseSocket
,因此根据msdn:
reuseSocket 键入:System.Boolean 如果在当前连接关闭后可以重用此套接字,则为true;否则,错误。
这基本上意味着,当您将reuseSocket
设置为false
时,它会在您关闭后处理。 Shutdown
方法不会断开你的套接字,它只会禁止发送/接收数据。