[quote=引用 7 楼 zhuben775 的回复:] [quote=引用 5 楼 shenyi0106 的回复:] [quote=引用 3 楼 zhuben775 的回复:] [quote=引用 2 楼 shenyi0106 的回复:] WSARecv完成后投递下一个WSARecv就行了,干嘛要让WSASend完成后投递下一个WSARecv?? 逻辑关系不怎么对啊
[quote=引用 5 楼 shenyi0106 的回复:] [quote=引用 3 楼 zhuben775 的回复:] [quote=引用 2 楼 shenyi0106 的回复:] WSARecv完成后投递下一个WSARecv就行了,干嘛要让WSASend完成后投递下一个WSARecv?? 逻辑关系不怎么对啊
iocp的流程基本围绕数据投递进行,不管是连接,还是读,写,都需预先投递; 什么时候读,什么时候写,其实是由业务层的定义确定的 比如业务层需要收到客户端的身份验证信息,那就需要根据验证信息定义的长度,进行读投递。
[quote=引用 3 楼 zhuben775 的回复:] [quote=引用 2 楼 shenyi0106 的回复:] WSARecv完成后投递下一个WSARecv就行了,干嘛要让WSASend完成后投递下一个WSARecv?? 逻辑关系不怎么对啊
[quote=引用 2 楼 shenyi0106 的回复:] WSARecv完成后投递下一个WSARecv就行了,干嘛要让WSASend完成后投递下一个WSARecv?? 逻辑关系不怎么对啊
将WSASend发送的包都存储到链表里,GetQueuedCompletionStatus处理WSASend时,把对应的WSASend发送的包移除链表,如果链表为空则投递一个WSARecv
WSARecv完成后投递下一个WSARecv就行了,干嘛要让WSASend完成后投递下一个WSARecv?? 逻辑关系不怎么对啊
18,356
社区成员
64,214
社区内容
加载中
试试用AI创作助手写篇文章吧