я могу найти все запущенные экземпляры моего сервера в локальной сети? - PullRequest
0 голосов
/ 29 января 2019

У меня есть серверное приложение (которое просто запускает серверный сокет) и клиентское приложение. Предположим, у меня есть несколько экземпляров серверных приложений, запущенных в одной локальной сети, есть ли способ для моего клиентского приложения перечислить все запущенныесерверы в локальной сети (может быть по какому-либо имени или идентификатору, который я могу определить?)?Спасибо

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Обычно это решается с помощью

  • широковещательной рассылки UDP-подсети, где каждый экземпляр сервера открывает прослушивающий сокет UDP на данном порту, а затем отвечает на пакеты, полученные на этом порту.,Каждый ответ отправляется обратно отправителю, от которого он был получен, и может содержать любые идентификационные данные, которые вы хотите.Затем клиент может транслировать пакет на этот порт и собирать любые ответы, которые он получает от серверов, подключенных к той же подсети.

  • любое количество доступных обнаружение сетевых службпротоколы , такие как SSDP .

0 голосов
/ 29 января 2019

Используйте nmap и zmap , если вы используете Linux.

Чтобы увидеть открытые порты на вашем компьютере:

Windows: использовать CMD с правами администратора

 netstat -a -b

-a Отображение всех подключений и портов прослушивания

Powershell:

-Id (Get-NetTCPConnection -LocalPort portNumber).OwningProcess
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...