Получения IP-адреса удаленного сокета
Как определить удаленный IP-адрес подключенного сокета?
У меня есть объект RemoteEndPoint, к которому я могу получить доступ, а также его член AddressFamily.
Как использовать их для поиска ip-адреса?
спасибо!
в настоящее время
IPAddress.Parse( testSocket.Address.Address.ToString() ).ToString();
и получение 1.0.0.127 вместо 127.0.0.1 для конечных точек localhost. Это нормально?
4 ответов
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.remoteendpoint.aspx
затем вы можете вызвать IPEndPoint..::.Метод адреса для извлечения удаленного IPAddress и IPEndPoint..::.Способ порт, чтобы получить удаленный порт.
больше из ссылки (исправлено много хех):
Socket s;
IPEndPoint remoteIpEndPoint = s.RemoteEndPoint as IPEndPoint;
IPEndPoint localIpEndPoint = s.LocalEndPoint as IPEndPoint;
if (remoteIpEndPoint != null)
{
// Using the RemoteEndPoint property.
Console.WriteLine("I am connected to " + remoteIpEndPoint.Address + "on port number " + remoteIpEndPoint.Port);
}
if (localIpEndPoint != null)
{
// Using the LocalEndPoint property.
Console.WriteLine("My local IpAddress is :" + localIpEndPoint.Address + "I am connected on port number " + localIpEndPoint.Port);
}
Я сделал этот код в VB.NET но ты можешь переводить. Хорошо притворитесь, что у вас есть переменная клиент как TcpClient
Dim ClientRemoteIP As String = Client.Client.RemoteEndPoint.ToString.Remove(Client.Client.RemoteEndPoint.ToString.IndexOf(":"))
надеюсь, что это помогает! Овации.