关于WSAEventSelect和WSAWaitForMultipleEvents??

CW_Wei 2006-04-29 08:59:39
部分源码:

WSAEVENT acceptEvent; //
WSAEVENT tmpEvent;

//如下写报错(1)
WSAEVENT hEventArray[] = { netEvent, tmpEvent };

//(2)
DWORD res = WSAWaitForMultipleEvents( 2, hEventArray, TRUE, WSA_INFINITE, false );



////////
问题:
1。(1)处为何会报错?
2。 WSAWaitForMultipleEvents的地2个参数必须为数组么?不能是单独的一个WSAEVENT么?
3。究竟怎么才能正确地把WSAEVENT和WSAWaitForMultipleEvents关联起来?




...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CW_Wei 2006-05-06
  • 打赏
  • 举报
回复
搞定了 谢谢大家
nuaawenlin 2006-05-02
  • 打赏
  • 举报
回复
Windows 网络编程第七章
CW_Wei 2006-05-02
  • 打赏
  • 举报
回复
哪位能给个例子给看看是怎么正确运用WSAEventSelect和WSAWaitForMultipleEvents的?
psusjh 2006-05-02
  • 打赏
  • 举报
回复
如果是WSAEVENT 变量但也没有得到句柄
CW_Wei 2006-04-30
  • 打赏
  • 举报
回复
netEvent的定义在前面没写出来

直接取地址用过,好像不行
CW_Wei 2006-04-29
  • 打赏
  • 举报
回复
netEvent, tmpEvent 是定义的WSAEVENT变量

明白了一些

zwzzwz 2006-04-29
  • 打赏
  • 举报
回复
WSAEVENT hEventArray[] = { netEvent, tmpEvent };
你这种写法是什么意思?是不是想定义一个事件数组,如果是,那么netEvent是哪里来的?
一般写法:
const int nEventCount=2;//在你这个例子中是2;
WSAEVENT hEventArray[2];
for (int i=0;i<nEventCount;++i)
{
hEventArray[i]=WSACreateEvent();
WSAEventSelect(...);
}

while(1)
{
WSAWaitForMultipleEvents(....);
}




....
for (int i=0;i<nEventCount;++i)
WSACloseEvent(hEventArray[i]);


WSAWaitForMultipleEvents的地2个参数必须为数组么?不能是单独的一个WSAEVENT么?
对于一个元素,你可以用一个元素的数组。API就是这样设计的。
DentistryDoctor 2006-04-29
  • 打赏
  • 举报
回复
netEvent好像没定义吧.
如果只有一个,可以直接取其地址.

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧