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