Getting the IP Address of a Remote Socket Endpoint

后端 未结 4 521
温柔的废话
温柔的废话 2020-12-03 00:58

How do I determine the remote IP Address of a connected socket?

I have a RemoteEndPoint object I can access and well as its AddressFamily member.

How do I ut

相关标签:
4条回答
  • 2020-12-03 01:18

    RemoteEndPoint is a property, its type is System.Net.EndPoint which inherits from System.Net.IPEndPoint.

    If you take a look at IPEndPoint's members, you'll see that there's an Address property.

    0 讨论(0)
  • 2020-12-03 01:18
    string ip = ((IPEndPoint)(testsocket.RemoteEndPoint)).Address.ToString();
    
    0 讨论(0)
  • 2020-12-03 01:31

    I've made this code in VB.NET but you can translate. Well pretend you have the variable Client as a TcpClient

    Dim ClientRemoteIP As String = Client.Client.RemoteEndPoint.ToString.Remove(Client.Client.RemoteEndPoint.ToString.IndexOf(":"))
    

    Hope it helps! Cheers.

    0 讨论(0)
  • 2020-12-03 01:34

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

    You can then call the IPEndPoint..::.Address method to retrieve the remote IPAddress, and the IPEndPoint..::.Port method to retrieve the remote port number.

    More from the link (fixed up alot heh):

    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);
    }
    
    0 讨论(0)
提交回复
热议问题