我已经使用以下代码获取了连接的客户端IP,但似乎无法获取主机名。
Globals.connectedIPAddress = "" + IPAddress.Parse(((
IPEndPoint)_client.Client.RemoteEndPoint).Address.ToString());
我已经使用以下代码获取了连接的客户端IP,但似乎无法获取主机名。
Globals.connectedIPAddress = "" + IPAddress.Parse(((
IPEndPoint)_client.Client.RemoteEndPoint).Address.ToString());
并非每个IP地址都有名称。不过,如果给定了IPAddress
,您可以使用Dns.GetHostEntry
来尝试解析它。还要注意,如果它是NAT路由器,则将获得路由器的IP地址而不是其实际机器的IP地址。
关于评论中提到的问题,我同意没有使用ToString/Parse/ToString的必要:
IPAddress address = ((IPEndPoint)_client.Client.RemoteEndPoint).Address;
Globals.connectedIPAddress = address.ToString();