我和袜子的工作有什么不同,我必须遵守哪些规则?我正在编写简单的守护进程,它必须侦听端口并执行一些操作。
发布于 2015-06-24 16:44:59
Socket.Close调用Dispose (但它没有文档)。
当使用面向连接的套接字时,始终在关闭套接字之前调用关机方法.这可以确保在连接的套接字关闭之前发送和接收所有数据。(msdn)
您的代码应该如下所示(至少我会这样做):
using (var socket = new Socket())
{
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}Disconnect方法接受一个参数bool reuseSocket,根据msdn
reuseSocket类型:如果在当前连接关闭后可以重用此套接字,则为System.Boolean true;否则为false。
这基本上意味着,当您将reuseSocket设置为false时,它将在关闭它之后被释放。
Shutdown方法不会断开套接字,它只会禁用发送/接收数据。
https://stackoverflow.com/questions/31031835
复制相似问题