从IP地址获取主机名
我已经设法使用下面的代码获取连接的客户端IP,但似乎无法获取主机名。从IP地址获取主机名
Globals.connectedIPAddress = "" + IPAddress.Parse(((
IPEndPoint)_client.Client.RemoteEndPoint).Address.ToString());
嗯,不是每个IP地址有的名称。但是,考虑到IPAddress
您可以使用Dns.GetHostEntry
至尝试来解决它。另外请注意,如果它是一个NAT路由器,您将获得路由器的IP地址,而不是他们的实际机器。
而只是为了在评论中解决问题,我同意,有没有点中的ToString /解析/的ToString:
IPAddress address = ((IPEndPoint)_client.Client.RemoteEndPoint).Address;
Globals.connectedIPAddress = address.ToString();
@如果它是一个NAT路由器,你将得到路由器的IP地址,而不是他们的实际机器。 - 是否有可能获得实际的机器名称(域名)? – 2012-01-25 09:22:09
@VijayBalkawade:我希望不会,亲自... – 2012-01-25 09:36:39
@JonSkeet有没有比这更好的方式(2.5年后)?在我的网络中,此方法每次都会引发异常。 – 2013-02-21 05:11:37
只是好奇:你的ToString,语法分析的ToString混乱有什么目的? – dtb 2010-07-15 14:25:47
新手芽。如果有更清洁的方式,我想请知道。 – arbme 2010-07-15 15:04:42