webentwicklung-frage-antwort-db.com.de

Abrufen der IP-Adresse eines Remote-Socket-Endpunkts

Wie ermittle ich die Remote-IP-Adresse eines verbundenen Sockets?

Ich habe ein RemoteEndPoint-Objekt, auf das ich zugreifen kann, sowie sein AddressFamily-Mitglied.

Wie nutze ich diese, um die IP-Adresse zu finden?

Vielen Dank!

Ich versuche es gerade

IPAddress.Parse( testSocket.Address.Address.ToString() ).ToString();

und 1.0.0.127 anstelle von 127.0.0.1 für localhost-Endpunkte erhalten. Ist das normal?

35
bobber205

http://msdn.Microsoft.com/en-us/library/system.net.sockets.socket.remoteendpoint.aspx

Sie können dann die IPEndPoint .. ::. Address-Methode aufrufen, um die entfernte IPAddress abzurufen, und die IPEndPoint .. ::. Port-Methode, um die entfernte Portnummer abzurufen.

Mehr von dem Link (viel repariert):

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);
}
61
Cory Charlton

RemoteEndPoint ist eine Eigenschaft vom Typ System.Net.EndPoint , die von System.Net.IPEndPoint erbt.

Wenn Sie sich IPEndPoints members ansehen, werden Sie feststellen, dass es eine Address -Eigenschaft gibt.

6
Bertrand Marron
string ip = ((IPEndPoint)(testsocket.RemoteEndPoint)).Address.ToString();
3
user3235770