Я думаю, что это невозможно, если вы хотите установить соединение с сервером, вы должны знать, в каком порту сервер прослушивает, есть программы, такие как nmap, которые показывают список открытых портов на сервере, но на сервереможет иметь много открытых портов одновременно, а затем, как вы узнаете, какой порт открыт вашим сервером?и в любом случае он слишком медленный и неэффективный для вызова внешнего инструмента, чтения и анализа его выходных данных.По какой причине вам нужна служба случайных портов?
Другим вариантом может быть получение открытого сокета на стороне сервера, вызывающего s.getLocalPort()
, и отправка его через UDP для любого прослушивающего узла в сети с широковещательной передачей, иперепрограммируйте клиентскую сторону для прослушивания в широковещательной рассылке, и когда она получает сообщение, проверьте, является ли это номером порта, и подключитесь к серверу, используя этот порт.