社区
网络编程
帖子详情
AsyncSockey的connect问题!
issink
2008-04-19 02:20:59
用asyncscoket的connect来连接一个虚假的没有的域名或IP地址时
程序会停止响应几秒钟
这个该怎么解决
以前用VB的mssocket连接的时候也没有出现这个问题
我不太懂什么同步/异步
但我想也许跟这个有关系
有什么好的解决办法吗
难道另开一个线程来连接?
...全文
107
12
打赏
收藏
AsyncSockey的connect问题!
用asyncscoket的connect来连接一个虚假的没有的域名或IP地址时 程序会停止响应几秒钟 这个该怎么解决 以前用VB的mssocket连接的时候也没有出现这个问题 我不太懂什么同步/异步 但我想也许跟这个有关系 有什么好的解决办法吗 难道另开一个线程来连接?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
knowledge_Is_Life
2008-05-01
打赏
举报
回复
以后需再关注,现在先帮你顶一下
WinEggDrop
2008-04-19
打赏
举报
回复
呵呵.你连接域名时,你要先将域名解析为IP,才能连接的.将域名解析为IP,可以用
gethostbyname(),这个是阻塞的API;也可以用WSAAsyncGetHostByName(),这个是异步非阻塞的.
arong1234
2008-04-19
打赏
举报
回复
CAsyncSocket当然是异步的,无论成功与否,它都应该立刻返回,如果你程序停顿在那,一定另有原因
至于不存在的域名地址,连接成功或者失败信息最长2分钟后才能回来,这是已知问题。不过你为什么会连不存在的域名?
不管怎么说,CAsyncSocket::Connect都是立刻返回的,不会停顿在那,除非你用法有错误
cnzdgs
2008-04-19
打赏
举报
回复
没这样试过,感觉应该是域名解析阻塞了一段时间。
yebeans
2008-04-19
打赏
举报
回复
可能是你连域名的时候会先从DNS获取对应的IP,这个操作需要一定的时间并且阻塞(如果对应域名不存在可能会尝试多个 DNS服务器)所以卡住。
所以域名解析放在其他地方做,连的时候就只用IP连。
Zhymax
2008-04-19
打赏
举报
回复
好像GetPeerName()在一些情况下会阻塞,你看看有没有使用
scq2099yt
2008-04-19
打赏
举报
回复
一般是发送一个线程、接收一个线程、处理一个线程
CathySun118
2008-04-19
打赏
举报
回复
为何要连接虚假的没有的域名或IP地址?
issink
2008-04-19
打赏
举报
回复
很头疼的问题
现在又有了新的发现
Asyncsocket在连接虚假的IP时到是非阻塞
但在连接虚假的域名时 程序就会挂起
直到连接不上返回结果 程序才恢复
issink
2008-04-19
打赏
举报
回复
怎么我感觉
CAsyncsocket是阻塞的呢
用CAsyncsocket的connect函数时(create的时候 用的是FD_CONNECT)程序会挂起呢
直到连接到指定IP或连接不上时程序才恢复呢
yebeans
2008-04-19
打赏
举报
回复
你可以用CAsyncSocket(都封装好了的。想看实现也有代码)。
异步连接会立刻返回,连接完成后会发送FD_CONNECT并触发OnConnect函数。
issink
2008-04-19
打赏
举报
回复
查了些资料
好象涉及的挺多
异步/同步
阻塞/非阻塞
似乎socket在发送一个连接函数时都会发生阻塞情况
有三种解决方法
1,放到一个自己写的线程中
2,使连接函数立刻返回 另一个函数轮询此套接字
3,使连接函数立刻返回 请求完成的同时发送一条windows消息
我觉得采用2,3条可以
但是如果使连接函数立刻返回呢
如果进行后面的轮询或发送windwos消息的操作呢
npm下载报错npm ERR! code ETIMEDOUT npm ERR! syscall
connect
npm ERR! errno ETIMEDOUT npm ERR! network re
syscall
connect
npm ERR! errno ETIMEDOUT npm ERR! network request to https://registry.npmjs.org/cnpm failed, reason:
connect
ETIMEDOUT 104.16.17.35:443 npm ERR! network This is a problem related to ...
帝国cms后台登陆显示Cann‘t
connect
to DB 解决方法
想必很多的小伙伴在网站搬家或者是上传空间服务器都会遇见这个
问题
吧!出现这段提示是什么原因呢?很多小白就困惑了,这到底什么意思呢?其实博主刚开始接触帝国CMS的时候也是这样,不过都是熟能生巧的经历的多了...
记录STM32 ST-LINK Utility出现“Can not
connect
to target“的
问题
,已解决
在调试电路板下载程序的过程中,突然出现ST-Link连接不成功,因为以前是直接
connect
就可以识别成功的,最近一直连不上,以为是硬件出了
问题
,后来在网上查阅后,发现在
connect
前按下复位键就可以了,尝试之后果然...
while trying to
connect
to Chrome! The only Chrome revision guaranteed to is r575458
问题
描述与解决 使用puppeteer启动chrome会出现Error: Timed out after 30000 ms while trying to
connect
to Chrome! The only Chrome revision guaranteed to work is r575458错误。根据官方文档,每一个puppeteer...
登陆后台时,弹出Cann't
connect
to DB!
烈火网(LieHuo.Net)教程 用帝国CMS建的网站,最近经常出现 Cann't
connect
to DB! 不定时的出现 Cann't
connect
to DB! mysql重新安装了也不管用?后来找到了解决方法。 方法一: MYSQL频繁掉线,刷新后...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章