只是想知道是否有人看准了这一点:

在运行我们的软件,一些用户的机器,偶尔会调用Win32的winsock的gethostbyname失败,错误代码11004。

有关的参数的gethostbyname,我传递在从gethostname结果。

现在文档说11004是WSANO_DATA。描述似乎都不是相关的(如果你在一个IP6地址,通过它的发生,但就像我说的,我在一个主机名路过)。

更有意思的是,MSDN表明,这种组合(gethostname其次gethostbyname)应该永远不会失败,甚至没有,如果没有IP地址(在这种情况下它只是返回IP地址的空列表)。下面是从的gethostname MSDN条目报价:

  

...可以保证返回的名称将由的gethostbyname和WSAAsyncGetHostByName成功分析。

据从休眠状态恢复后只发生过,在短期内网络重新启动时,只有在Vista / 7(以及我只看到它在Vista和Windows 7)。

有一种说法我是,它涉及到IP6。也许在短期内网络报告的IP6地址,而不是corresponging IP4地址(我敢肯定,所有的客户机是双IP协议栈,但我可能是错的)。

我试图关闭我的网卡(强制没有IP地址)来复制,无法生育。

任何见过这个?

任何想法?

约翰

有帮助吗?

解决方案

我觉得你已经被边缘的情况下咬伤。

在一天结束的时候做一些像Hibernate是先进的东西 - 电脑还原到其确切状态,并继续仿佛什么也没有发生。那一切都很好,但有些东西将无法生存,如任何网络连接的预期的答复,以及任何严重的低级别的你,不可阻挡的设置我只阅读,我注册的CPU。

我建议您联系微软询问他们是否知道这一点。如果它适用于其他操作系统,他们将最有可能有兴趣在固定它7 / Vista操作系统。只要准备交出二进制,这样他们可以对其进行测试广告无穷。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top