问题起因:
winsock2网络通讯时,getaddrinfo(node, service, &hints, &result)会因为node是hostname而返回error:11001(找不到这样的主机),ip的话就可以。
后经过上google,最后在csdn论坛解决
http://bbs.csdn.net/topics/390598592?page=1#post-395635620
,再次感谢
Vegertar
发现了问题是:不同网段的可以ip可ping通,主机名ping不通,
要设置一个文件:
C:\WinNT\System32\Drivers\Etc\lmhosts.sam,文件下添加一条192.168.1.123 nodename ,具体参考文件内的说明。
打开本地连接->属性->Internet 协议版本 4(TCP/IPv4)->属性->高级->WINS->导入 LMHOSTS(M),选择 刚修改的
C:\WinNT\System32\Drivers\Etc\lmhosts.sam
然后确定,确定,确定,现在再ping刚才添加的不同网段的主机名nodename,就可以ping 通啦
有点类似linux 的/etc/hosts
参考:跨网段NetBios主机名无法解析该如何处理
http://network.51cto.com/art/201008/221908.htm
lmhosts百度百科
http://baike.baidu.com/view/1093116.htm