c# 中关于Dns.GetHostEntry的问题

zwq908460961 2014-12-10 11:26:37
在局域网使用GetHostEntry方法时,通过不同的ip获取到的hostname都是本机的计算机名,请问这是为什么,我想要那个ip地址的计算机名,不是本机的计算机名,请问有什么可以解决的好办法。。。。

...全文
1378 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-12-10
  • 打赏
  • 举报
回复
我用vs2005 GetHostEntry方法返回的永远是传入的IP地址
於黾 2014-12-10
  • 打赏
  • 举报
回复
使用 Dns.GetHostByAddress(IP)
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
木有人吗,好悲伤啊啊
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
up up up 求大神顶啦
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
引用 16 楼 dongxinxi 的回复:
我的是英文系统,中文系统好像是叫“微软客户端网络协议”,装了系统就有的
试了一下用虚拟机然后断开网络发现确实是dns的域名解析问题。。。。
  • 打赏
  • 举报
回复
我的是英文系统,中文系统好像是叫“微软客户端网络协议”,装了系统就有的
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
引用 14 楼 Z65443344 的回复:
我就是用Dns.GetHostByAddress(IP)啊 XP下好像没有这个设置,而且也都能获取到 你的系统是win7吗
果断win7的,我个人觉得是dns域名解析的问题,因为公司网络设置的话自动会添加dns后缀名,那就没办法搜索到正确的计算机名了。。。。
於黾 2014-12-10
  • 打赏
  • 举报
回复
我就是用Dns.GetHostByAddress(IP)啊 XP下好像没有这个设置,而且也都能获取到 你的系统是win7吗
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
引用 11 楼 dongxinxi 的回复:
与你的网络配置有关,先看你的本地连接的DNS配置,实际上是利用它来解析的 比如在同一个局域网,通常就是网关,一般都可以解析到 不过有个前提条件:客户机必须安装并启用了Client for MICRO network协议(本地连接的属性中可看到),并且启用了NetBIOS设置 http://baike.baidu.com/link?url=cx7xbnPy6hazKjmmifToR83Olb7s48XIxcgbF_XykyqQjRe0zeTwyOvj_-rDM2Z9uqXRIir4nOZr3UUDWEqG5_
其实我在本地连接里未曾发现未曾发现那个client协议,可是通过nbtstat -a ip是可以得到mac和计算机名的,是不是c#本身的问题什么的
  • 打赏
  • 举报
回复
如果在域中,通常就是域服务器,可以跨网段解析的
  • 打赏
  • 举报
回复
与你的网络配置有关,先看你的本地连接的DNS配置,实际上是利用它来解析的 比如在同一个局域网,通常就是网关,一般都可以解析到 不过有个前提条件:客户机必须安装并启用了Client for MICRO network协议(本地连接的属性中可看到),并且启用了NetBIOS设置 http://baike.baidu.com/link?url=cx7xbnPy6hazKjmmifToR83Olb7s48XIxcgbF_XykyqQjRe0zeTwyOvj_-rDM2Z9uqXRIir4nOZr3UUDWEqG5_
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
引用 9 楼 Z65443344 的回复:
实测,2010跟2005没有任何区别 应该是你操作系统不太一样
亲你是怎么获取到的计算机名,求发代码或者截图。。。
於黾 2014-12-10
  • 打赏
  • 举报
回复
实测,2010跟2005没有任何区别 应该是你操作系统不太一样
於黾 2014-12-10
  • 打赏
  • 举报
回复
我这里刚好有2010,虽然不常用,不过我可以先测试一下
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
vs2010版本的
於黾 2014-12-10
  • 打赏
  • 举报
回复
你vs什么版本的,我这里可以获取的
zwq908460961 2014-12-10
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
我用vs2005 GetHostEntry方法返回的永远是传入的IP地址
可是使用Dns.GetHostByAddress(IP)我获取到的还是本机的计算机名,没办法得到该ip的计算机名。。。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧