IOCP中关于disconnectex重用Socket的问题
时间:2011-11-29
来源:互联网
现在我使用acceptex,disconnectex重用Socket,但在使用CreateIoCompletionPort重新绑定Socket时出现错误,返回一个87错误;我在网上找了下,说这是正常的,但是有个问题,我发现使用的完成键(CompletionKey),还是以前的完成键。
想在这里请教一下这方面的高手:1.我可以重新绑定完成键吗?2.要是不能不能重新绑定,那这个应该怎么做呢?先谢了!
想在这里请教一下这方面的高手:1.我可以重新绑定完成键吗?2.要是不能不能重新绑定,那这个应该怎么做呢?先谢了!
作者: luodongjue 发布时间: 2011-11-29
自己先顶下啊
作者: luodongjue 发布时间: 2011-11-29
你理解错,disconnectex重用Socket 后 无需重新绑定.
作者: bingying19872008 发布时间: 2011-11-29
C/C++ code
void IssueReset() { myState = WAIT_RESET; //标记操作类型 TransmitFile( mySock, 0, 0, 0, this, 0,TF_DISCONNECT | TF_REUSE_SOCKET );//重用 } void OnIoComplete(DWORD NumTransferred) { switch ( myState ) { case WAIT_RESET: CompleteReset(); break; } } void CompleteReset(void) { IssueAccept(); } void IssueAccept() { myState = WAIT_ACCEPT; DWORD ReceiveLen = 0; // This gets thrown away, but must be passed. AcceptEx( myListener, mySock, myAddrBlock, 0, ACCEPT_ADDRESS_LENGTH, ACCEPT_ADDRESS_LENGTH, &ReceiveLen, this ); }
作者: bingying19872008 发布时间: 2011-11-29
可以搜索 "精巧的WEB服务器Fire的源代码"
作者: bingying19872008 发布时间: 2011-11-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28