Получить все клиенты, которые подключены к порту удаленного сервера - PullRequest
0 голосов
/ 05 декабря 2018

Я хочу получить все клиенты, которые подключены к порту сервера (то есть к порту 80).

Если я подключаюсь к удаленному порту, используя:

IPEndPoint endPoint = new IPEndPoint(ip, port);
Socket tcpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);  
tcpSocket.Connect(endPoint);  

, я получаю как LocalEndPointIP-адрес текущего клиента.Как я могу получить IP-адреса всех клиентов, которые подключены к этому порту на удаленной машине (или, по крайней мере, количество подключенных клиентов)?Я не хочу вызывать удаленную систему.

Спасибо за любую помощь.

Харальд

1 Ответ

0 голосов
/ 05 декабря 2018

Вы не можете.Вот так работают сокеты и обеспечивается безопасность.Если у вас есть соединение между сервером и клиентом, вы не можете получить информацию о других клиентах.

Вы можете изменить код удаленного сервера и изменить протокол, чтобы добавить обработку для вашего запроса, чтобы сервер возвращал количество подключенных клиентов.Но это потребует от вас поддержки в протоколе и изменения реализации TCP-сервера.Если эта часть может быть сложной (рассчитать количество подключенных клиентов) из-за полузакрытых соединений, тайм-аутов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...