社区
网络编程
帖子详情
投递成功后但未完成的重叠操作如何取消掉?
saiyaman5
2011-03-24 05:03:42
如题,WSASend/WSARecv投递成功但未完成,这时由于某些原因我想取消掉,应该如何做,先closesocket(),然后再删除这两个函数锁定的缓冲区没问题吧?
...全文
125
4
打赏
收藏
投递成功后但未完成的重叠操作如何取消掉?
如题,WSASend/WSARecv投递成功但未完成,这时由于某些原因我想取消掉,应该如何做,先closesocket(),然后再删除这两个函数锁定的缓冲区没问题吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
哈利路亚1874
2011-03-24
打赏
举报
回复
我一般会维护一个未决链表,如果要取消掉,直接从链表中移去就行了
jwybobo2007
2011-03-24
打赏
举报
回复
可以的
stjay
2011-03-24
打赏
举报
回复
如果不再使用socket,可以closesocket
如继续使用socket,则用CancelIO,要在投递IO的线程里执行,具体看MSDN
最简单的就是全部线程执行CancelIO
fishion
2011-03-24
打赏
举报
回复
这样应该没什么问题
可以找一下网上一些成熟的例子来看看
windows socket网络编程五:
重叠
IO模型
文章目录分析事件通知
重叠
IO结构体创建支持
重叠
IO的socket
投递
异步Accept
投递
异步Recv
投递
异步Send询问事件获取
重叠
信号分类处理运行结果
完成
例程
投递
异步Accept
投递
异步Recv
投递
异步Send分类处理运行结果模型流程图源码链接 分析 在解决了select模型本身的同步阻塞问题后,我们还要处理send、recv、accept的执行阻塞。 我们socket的
操作
本质上都是字符串的拷贝复制,
重叠
IO是windows提供的一种异步读写文件的机制,将读的指令以及我们的buffer投给
操作
系统,然后
WSARecv()函数
WSARecv()是从一个套接口接收数据的程序。主要用于在
重叠
模型中接收数据。 #include <winsock2.h> int WSAAPI WSARecv ( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPINT lpFlags, LPWSAOVERLAPPED l
完成
端口模型开发
完成
端口模型实现步骤: 1.创建
完成
端口 2.创建服务线程,通常服务线程数量为CPU数量的2倍 3.将套接字与
完成
端口关联在一起 4.调用输入输出函数,发起
重叠
I/O
操作
5.在服务线程中,在
完成
端口上等待
重叠
I/O
操作
结果 一、创建
完成
端口对象 要在应用程序中利用
完成
端口模型,就必须首次创建
完成
端口对象。CreateIoCompletionPort()函数实现此功能,函数声明...
MQTT协议之发布订阅
女主宣言在之前的文章中,我们介绍了MQTT如何创建客户端与服务端,接下来就是如何进行消息的传递,本篇文章将进一步介绍MQTT的发布和订阅细节。PS:丰富的一线技术、多元化的表现形式,尽在...
IOCP编程注意事项
From: http://blog.csdn.net/educast/article/details/15952573 1、每个连接同时最好只有一个待决的WSARecv。IOCP不保证多个待决WSARecv情况下先
投递
的WSARecv就一定会先得到
完成
通知。因此 ,多个待决WSARecv可能导致数据乱序,无谓增加代码复杂性。 2、
投递
0长度缓冲区的WSARe
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章