从 TcpClient 获取源 IP

Get source IP from TcpClient

我需要一个以 TcpClient 作为参数的简单函数。假定 TcpClient 已连接到服务器。该函数应该 return 客户端设备用于与服务器设备连接的 ip。不是已建立连接的服务器设备的 ip,而是用于与服务器连接的客户端设备的 ip。由于一台设备可以有多个 ip 地址,我想要与服务器连接的特定 ip。

tcpClient.Client.LocalEndPoint 保存该信息。参见 MSDN documentation

var localEndPoint = tcpClient.Client.LocalEndPoint as IPEndPoint;
var localAddress = localEndPoint.Address;
var localPort = localEndPoint.Port;

如果要从TCP服务器端获取,当然要用RemoteEndPoint