加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如果尝试关闭已经关闭的套接字winsock会发生什么?

发布时间:2020-12-16 07:04:28 所属栏目:百科 来源:网络整理
导读:参见英文答案 Calling shutdown and closesocket twice on same socket????????????????????????????????????3个 如果我两次调用closesocket(m_socket)会发生什么? 第一次调用后,套接字将关闭. 是否在第二次调用之后会发生对程序或应用程序不利的事情.或者
参见英文答案 > Calling shutdown and closesocket twice on same socket????????????????????????????????????3个
如果我两次调用closesocket(m_socket)会发生什么?
第一次调用后,套接字将关闭.
是否在第二次调用之后会发生对程序或应用程序不利的事情.或者它只会返回一个我可以忽略的错误.

解决方法

见 http://msdn.microsoft.com/en-us/library/windows/desktop/ms737582(v=vs.85).aspx

Note that the socket descriptor passed in the s parameter may immediately be reused by the system as soon as closesocket function is issued. As a result,it is not reliable to expect further references to the socket descriptor passed in the s parameter to fail with the error WSAENOTSOCK.

我认为这意味着当任何中间代码可能做了涉及描述符的任何事情时(包括打开文件和其他套接字)而不是必要的全面禁止,你应该小心不要关闭套接字两次,但实际上这是脆弱的你应该编码以避免这种可能性.将INVALID_SOCKET分配给您用来保存套接字描述符的变量可能是有意义的,允许您在再次调用closesocket之前检查它,或者(更糟)确保第二次调用的无副作用失败.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读