TcpListener TcpClient 获取 IP 地址

dwk*_*dwk 3 c# tcp

我希望从以下位置获取IP 地址

服务器端

TcpListener ftp_listener = new TcpListener(IPAddress.Any, ftpport);
 newclient = listener.AcceptTcpClient();
Run Code Online (Sandbox Code Playgroud)

请问如何找到新客户端的IP 地址

客户端

TcpClient ftpclient = new TcpClient();
 ftpclient.Connect(ipAddress, ftpport);
Run Code Online (Sandbox Code Playgroud)

如何找到ftpclient ip 地址

目前我正在使用

 TcpClient ftpclient = new TcpClient();

            //get IpAddress of Server
#pragma warning disable CS0618 // Type or member is obsolete
            IPAddress ipAddress = Dns.Resolve("localhost").AddressList[0];
#pragma warning restore CS0618 // Type or member is obsolete

            ftpclient.Connect(ipAddress, ftpport);// "192.168.1.160", ftpport);
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法 ...

谢谢

Ogu*_*gul 8

对于服务器和客户端,获取远程端点(IP 地址和端口)的方法是相同的。

  1. 获取服务器上的客户端IP地址:

    IPEndPoint remoteIpEndPoint = newclient.Client.RemoteEndPoint as IPEndPoint;
    Console.WriteLine("Client IP Address is: {0}", remoteIpEndPoint.Address);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在客户端获取服务器IP地址:

        IPEndPoint remoteIpEndPoint = ftpclient.Client.RemoteEndPoint as IPEndPoint;
        Console.WriteLine("FTP Server IP Address is: {0}", remoteIpEndPoint.Address);
    
    Run Code Online (Sandbox Code Playgroud)