关于WSAAsyncSelect的问题 不知道WSAAsyncSelect内部是怎么实现的。只知道用了WSAAsyncSelect以后,socket就变成非阻塞的了。要想变成阻塞的,需要再调用一次,把它的最后一个参数设为0,再用ioctlsocket来设置非阻塞。我的问题是,这样变成非阻塞以后,socket是不是就不会再发事件消息给绑定的窗口了?只有在非阻塞模式下才能发事件消息吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果L主初学socket建议不要使用MFC 中的封装好的,建议使用API中提供的来处理阻塞、非阻塞消息来更好的理解socket中,两种模式的机制! 你用WSAAsyncSelect设置回阻塞模式以后,就没有事件通知了。 没有测试过,不过我想WSAAsyncSelect(...,0);最后一个参数是0,不像FD_ACCEPT,FD_READ,FD_WRITE,FD_CLOSE等,它们有具体的事件通知,接受连接,有数据可读,可写,连接关闭等等。为0表示是什么事件通知呢,应该就是取消,所以我认为应该就没有通知了。个人想法,没有经过测试,欢迎楼下指正 刚测试过,确实不行。变成阻塞以后,就没有事件通知了。另外,WSAAsyncSelect这个不是MFC的函数,它是windows的API。我想知道的是,在阻塞模式下,怎么知道事件的发生?非要单独开一个线程,在里面轮询?可是怎么轮询呢?我只知道ioctlsocket(m_sock, FIONREAD, &iMode)可以轮询OnReceive事件。那么其它事件呢?另外,如果不单独开线程呢?在主线程里面怎么知道事件发生?问题太多了,不好意思,呵呵 1.再调用WSAAsyncSelect()不绑定任何消息的话,socket不会再有任何消息.2.阻塞下基本只剩下select() MFC 程序如何使用 Visual Leak Detector 请问一些PDF操作的资料? 请教一些单元测试的基本问题:VC2008下如何建立一个测试?如何做单元测试? 关于单选框的一个问题 请教如何判断USB 是1.0还是2.0? Windows 程序设计 第五章 多边形填充方式问题 如果禁止鼠标在矩形区域外的地方点击? window核心编程的代码为什么运行不起??????????????在线等待 请问如何把showmessage('aaaaaa');下面的 Ok 改成 确定 关于Access数据库的问题? 在richedit控件中动态显示cmd窗口的命令 如何抢占带宽(原理和方法)
如果L主初学socket建议不要使用MFC 中的封装好的,建议使用API中提供的来处理阻塞、非阻塞消息来更好的理解socket中,两种模式的机制!
非要单独开一个线程,在里面轮询?可是怎么轮询呢?
我只知道ioctlsocket(m_sock, FIONREAD, &iMode)可以轮询OnReceive事件。那么其它事件呢?
另外,如果不单独开线程呢?在主线程里面怎么知道事件发生?
问题太多了,不好意思,呵呵
1.再调用WSAAsyncSelect()不绑定任何消息的话,socket不会再有任何消息.
2.阻塞下基本只剩下select()