免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4599 | 回复: 1
打印 上一主题 下一主题

关于gethostbyname()阻塞的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-26 09:28 |只看该作者 |倒序浏览
小弟最近正在练习linux下的网络编程,现在遇到个问题

要做的是对一个文件中的很多个url 依次进行网页下载,
刚开始单进程,利用alarm和siglongjump 结合控制超时。刚开始超时时间设的是15sec 但发现当有一个gethostbyname()超时返回时,余下的也跟着出问题
本来可以解析出来的也都超时返回了,这是怎么回事呢?。

后来偶然的机会把15sec改为25sec,发现解析不出来的时候gethostbyname()会返回出错消息,然后返回到子函数继续下一条。个人理解是gethostbyname的
失败返回时间在15sec以上,所以要有时间它他才会返回出错。虽然没能搞清具体原因,但这样也算把这快过去了,所以就继续往下做。

但现在我使用多进程的时候又出现在这个问题了,当有一个进程的gethostbyname()超时时,明显可以看到会有一些其他进程在这个时间进行的url也超时返回。

最恶的就是有时后面的所有请求都在gethostbyname这个地方超时,返回,下一条,再超时,再返回,再下一条。

为什么一个出错,还会牵连到其他的,想了挺多,实在搞不明白。
希望哪为高手帮忙分析一下,看有没有解决办法。

论坛徽章:
0
2 [报告]
发表于 2007-04-28 10:48 |只看该作者
ping 一下你的DNS server
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP