首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Socket.Disconnect对Socket.Close

Socket.Disconnect对Socket.Close
EN

Stack Overflow用户
提问于 2015-06-24 16:19:03
回答 1查看 8.1K关注 0票数 3

我和袜子的工作有什么不同,我必须遵守哪些规则?我正在编写简单的守护进程,它必须侦听端口并执行一些操作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 16:44:59

Socket.Close调用Dispose (但它没有文档)。

当使用面向连接的套接字时,始终在关闭套接字之前调用关机方法.这可以确保在连接的套接字关闭之前发送和接收所有数据。(msdn)

您的代码应该如下所示(至少我会这样做):

代码语言:javascript
复制
using (var socket = new Socket())
{
    socket.Shutdown(SocketShutdown.Both);
    socket.Close();
}

Disconnect方法接受一个参数bool reuseSocket,根据msdn

reuseSocket类型:如果在当前连接关闭后可以重用此套接字,则为System.Boolean true;否则为false。

这基本上意味着,当您将reuseSocket设置为false时,它将在关闭它之后被释放。

Shutdown方法不会断开套接字,它只会禁用发送/接收数据。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31031835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档