我设法使用下面的代码获取连接的客户端IP,但似乎无法获取主机名.
Globals.connectedIPAddress = "" + IPAddress.Parse((( IPEndPoint)_client.Client.RemoteEndPoint).Address.ToString());
解决方法
那么,并不是每个IP地址都有一个名字.但是,给定IPAddress,您可以使用
Dns.GetHostEntry
来尝试解决它.另请注意,如果它是一个NAT路由器,您将获得路由器的IP地址,而不是实际的机器.
为了解决这个问题,我同意ToString / Parse / ToString中没有任何意义:
IPAddress address = ((IPEndPoint)_client.Client.RemoteEndPoint).Address; Globals.connectedIPAddress = address.ToString();