Как вы получаете адрес хоста и порт из System.Net.EndPoint? - PullRequest
1 голос
/ 27 мая 2010

Я использую TcpClient, переданный мне от TcpListener, и я не могу найти простой способ получить адрес и порт, к которому он подключен.

Лучшее, что у меня есть, это _client.Client.RemoteEndPoint.ToString();, который возвращает строку в форме FFFF::FFFF:FFFF:FFF:FFFF%00:0000. Мне удалось извлечь адрес и порт с помощью регулярных выражений, но это кажется излишним. Чего мне не хватает?

1 Ответ

2 голосов
/ 27 мая 2010

Вы можете привести 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, если вы подключаетесь к интернет-адресу ...

...