我正在使用从TcpClient
传递给我的TcpListener
,在我的生命中,我无法想出一个简单的方法来获取它所连接的地址和端口。< / p>
我到目前为止最好的是_client.Client.RemoteEndPoint.ToString();
,它返回FFFF::FFFF:FFFF:FFF:FFFF%00:0000
形式的字符串。我已经设法使用正则表达式提取地址和端口,但这似乎有点矫枉过正。我错过了什么?
答案 0 :(得分:2)
您可以将EndPoint
投射到IPEndPoint
var ep = _client.Client.RemoveEndPoint as IPEndPoint;
if (ep != null)
{
Console.WriteLine("Address: {0}", ep.Address);
Console.WriteLine("Port: {0}", ep.Port);
}
你不应该真的需要测试!= null,因为你知道如果你连接到互联网地址它将永远是IPEndPoint ...