调用CAsyncSocket类的Connect时为什么会出现类似阻塞的样子,界面不刷新

kangfx 2003-08-22 03:35:42
运行环境:Win2000
通过网关代理上网(ADSL)

我写了一个客户端的软件,没有用多线程,当登录服务器时,创建了一个CAsyncSocket类的对象,但是在调用Connect方法时如果网关关机或停掉了服务则会出现界面无法刷新的情况(2--4秒左右),很恶心的,请问各位怎么回事啊,CAsyncSocket采用的可是非阻塞的IO模型啊。不应该出现这种事情啊,我是前天才将CSocket改为CAsyncSocket的
...全文
38 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flinming 2003-08-25
  • 打赏
  • 举报
回复
应该不不会吧

你没有去处理onclose函数么,如果网关关机或停掉了服务关闭,你应该先去处理断开了
PowerOffHong 2003-08-25
  • 打赏
  • 举报
回复
我作过类似的程序开始也是楼主的问题!后来把工作用户界面和工作线程分开来就好了!所以同意楼上大家所述!
cboy2wzhx 2003-08-25
  • 打赏
  • 举报
回复
同意一楼的
dev_uoboy 2003-08-25
  • 打赏
  • 举报
回复
工作线程一定要和用户界面分开,一般用户界面是主线程,面对客户你的程序一定不要出现什么延迟,不然就算是几秒钟,用户也可能对你的产品产生反感。
ahao 2003-08-22
  • 打赏
  • 举报
回复
Connect会调用gethostbyname,这个函数是阻塞的

18,356

社区成员

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

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