Я создаю подобие серверного приложения с помощью TCPListener. Когда клиент подключается к серверу с помощью TCPClient, сервер должен определить адрес клиента и отправить ему в ответ определенное сообщение. Попробовал использовать RemoteEndPoint для этого, но почему-то порт возвращается совсем другой. Упрощенно, мой листенер выглядит таким образом:
TcpListener tcpListener;
TcpClient tcpClient;
NetworkStream stream;
string remoteIpAddress;
string remotePort;
tcpListener = new TcpListener(IPAddress.Parse(IPAddressPC), PortPC);
tcpListener.Start();
Byte[] bytes = new Byte[1500];
String data = null;
while (true)
{
tcpClient = tcpListener.AcceptTcpClient();
remoteIpAddress = ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Address;
remotePort = ((IPEndPoint)tcpClient.Client.RemoteEndPoint).Port;
Console.WriteLine($"Data came from {remoteIpAddress}:{remotePort}");
tcpClient.Close();
}
В чем может быть проблема, и как её можно исправить?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей