怎样等待异步Socket的函数返回结果再继续执行?

Garfield 2005-11-14 09:15:28
自己继承了一个异步Socket
Class mySocket : public CAsnycSocket
这样连接服务器
mySocket.Connect("host",port);

我想执行这一句以后等待socket连接上去host再继续执行后面的代码
但是又不想用阻塞socket,因为等到连接完以后接下来立刻要发送数据
如果放在OnConnect里面处理会变得很复杂

能否用一个占用cpu资源比较低的循环(不使用timer)去检查socket是否连接上
如果还没连接上就等待一段时间(不用Sleep,这个会使得界面没有响应) 再继续检查
直到连接上去?

...全文
474 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LAssemblyL 2005-11-19
  • 打赏
  • 举报
回复
CreateThread(.......);创建一个线程用来处理阻塞模式的connect
ThreadProc(...)
{
while ( connect (........) == -1 )
................
}
Garfield 2005-11-16
  • 打赏
  • 举报
回复
请问怎样?可否给出几行代码看看
现在我用的是connect后用PumpMessage然后在OnConnect上设置标志为true判断的。
比较麻烦。
flashboy 2005-11-15
  • 打赏
  • 举报
回复
CONNECT可以用阻塞撒, 连接OK后,再转换为非阻塞模式

18,356

社区成员

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

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