首页 新闻 搜索 专区 学院

Dns.GetHostByName 报socket异常

0
悬赏园豆:30 [已解决问题] 解决于 2014-12-10 21:36

程序中执行打到Dns.GetHostByName(IP)时报错“由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作”,只在个别电脑上才在执行到这句时报错,大部分都是正常的。求指点解决。

末流的主页 末流 | 初学一级 | 园豆:24
提问于:2013-07-03 16:31
< >
分享
最佳答案
0

是不是这些机器有些其它程序上使用了socket没有释放?socket资源是全局共享的,系统没有剩余的socket来处理你的程序的DNS操作了。

遇到这种情况的话一般重启一下机器就好了。

收获园豆:30
天方 | 大侠五级 |园豆:5266 | 2013-07-03 17:56

重启电脑没有作用,这种情况能在我的程序中做处理吗?(我自己推测也肯能是注册表什么的出问题了)

末流 | 园豆:24 (初学一级) | 2013-07-03 21:46

@末流: 

重启也没用的话,你那台机器本身就有问题吧,ping 127.0.0.1 看看正常不? 其它网络功能能用吗?

硬件基础环境没就绪的话,你没法给它纠错的。顶多报个错提示下用户。

天方 | 园豆:5266 (大侠五级) | 2013-07-03 22:30

@天方: 谢谢你的回答。其他网络功能是可以正常使用的。我能在我的代码中对系统socket资源释放吗?或者我又什么办法或者工具监控系统socket吗?

末流 | 园豆:24 (初学一级) | 2013-07-04 09:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册