CSocket的一个小问题,第一个解决的得全分

iceboy1979 2003-06-27 11:43:19
我用MySocket->Receive()时,怎么可以实现异步调用。
现在,我一运行Receive程序就停在那等待有Socket发送,我想不用等在那里,没有发送的话就返回一个标志。
我不想用OnReceive()函数。
那位大虾能够解决。
...全文
69 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyrzhlgq 2003-09-29
  • 打赏
  • 举报
回复
使用WSASelect函数,具体的你可以查查MSDN中的内容。
主要由三种异步方式,可以是消息、事件、重叠I/O,你查查就知道了
joinrry 2003-06-27
  • 打赏
  • 举报
回复
从异步CAsyncSocket继承啊!
jackiess 2003-06-27
  • 打赏
  • 举报
回复
重载OnReceive(),在OnReceive里接收数据,收到数据时系统会自动OnReceive,可以在里面做一些处理。
alanwang_ 2003-06-27
  • 打赏
  • 举报
回复
为什么不用OnReceive??

fd_set fd;
FD_ZERO(&fd);FD_SET(m_sock.m_hSocket, &fd);
select(0,&fd, NULL, NULL, time_out);
iceboy1979 2003-06-27
  • 打赏
  • 举报
回复
应该有一个标志位,可以通过查询这个标志位来获得是否有数据发送过来。
iceboy1979 2003-06-27
  • 打赏
  • 举报
回复
对不起,我忘说了,不能用线程
TyraelTiger 2003-06-27
  • 打赏
  • 举报
回复
用线程。

18,356

社区成员

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

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