首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

IOCP线程有关问题(待)

2012-04-16 
IOCP线程问题(在线等待)IOCP中绑定端口以后struct IOCONTENT{WSAOVERLAPPEDoverlappedintstateunion{SOC

IOCP线程问题(在线等待)
IOCP中绑定端口以后

struct IOCONTENT{
WSAOVERLAPPEDoverlapped;
intstate;
union
{
SOCKETCONTENT*socketcontent;// recv消息接受缓存
SENDBUF*sendbuf;// send消息发送缓存

};
WSABUFwsabuf;
SOCKETsock;//send sock
}

IOCONTENT iocontent;
....
第一个线程调用函数
WSARecv(content->sock, &iocontent->wsabuf, 1, &numbytes, &flags, &iocontent->overlapped, NULL)
如果线程接收到消息
GetQueuedCompletionStatus
会由所相应
我得问题是:
如果GetQueuedCompletionStatus在执行响应时(代码还没执行结束)
WSARecv 又再次收到消息
这时消息缓存里的内容会不会就变了?


[解决办法]
bang ni ding...
[解决办法]
投递一个recv就接受一次消息。 你投递一次不会接受两次消息的。

热点排行