获取远程套接字端点的IP地址

bob*_*205 36 c# sockets endpoints

如何确定连接套接字的远程IP地址?

我有一个我可以访问的RemoteEndPoint对象以及它的AddressFamily成员.

如何利用这些来查找IP地址?

谢谢!

目前正在尝试

IPAddress.Parse( testSocket.Address.Address.ToString() ).ToString();
Run Code Online (Sandbox Code Playgroud)

并获得1.0.0.127而不是127.0.0.1的localhost端点.这是正常的吗?

Cor*_*ton 63

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

然后,您可以调用IPEndPoint .. ::.Address方法来检索远程IPAddress,并使用IPEndPoint .. ::.Port方法来检索远程端口号.

更多来自链接(固定很多嘿):

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);
}
Run Code Online (Sandbox Code Playgroud)


use*_*770 7

string ip = ((IPEndPoint)(testsocket.RemoteEndPoint)).Address.ToString();
Run Code Online (Sandbox Code Playgroud)


Ber*_*ron 6

RemoteEndPoint是一个属性,其类型是System.Net.EndPoint,它继承自System.Net.IPEndPoint.

如果你看看IPEndPoint的成员,你会发现有一个Address属性.

  • 实际上IPEndPoint继承自EndPoint.演员表示可能会在运行时失败. (7认同)