网络编程(VS2015)WSACleanup

WSACleanup 清理,成功返回0,可用WSAGetLastError来获取错误码。在多线程环境中,调用此函数将终止所有线程的套接字。

int WSACleanup(void);

Return value

The return value is zero if the operation was successful. Otherwise, the value SOCKET_ERROR is returned, and a specific error number can be retrieved by calling WSAGetLastError.

需要注意:
当调用了WSACleanup,在此进程中任何挂起的或者异步的套接字调用都会取消,而且不会发出通知消息也不会设置事件对象。overlapped(这个单词怎么翻译才算好?)的也是。

为了使挂起的数据发送出去,应用程序应该使用shutdown来关闭连接,然后一直等待关闭完成再调用closesocket和WSACleanup。

和WSAStartup一样,WSACleanup也不能在DllMain中调用(可能会死锁)。

由于WSACleanup()的调用会导致将socket的初始化资源从Windows Sockets的实现中注销,并且该实现释放为应用程序或DLL分配的任何资源,因此,在编写ie空间的时候没有调用WSAStartUP(),而又调用了WSACleanup(),或导致页面不正常请求中断,致使ie浏览出现不可预见的意外......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值