Java ServerSocket закрытый порт - PullRequest
0 голосов
/ 05 июня 2018

Я делаю простое серверное приложение. Я хотел узнать, есть ли какой-нибудь способ узнать, закрыт ли порт, который пользователь вводит в приложение, для создания нового ServerScoket, который прослушивает этот порт?входит в закрытый порт 5000, есть ли способ проверить его и сообщить пользователю, что он пытается использовать закрытый порт?

Я хочу сделать что-то вроде этого:

int port = Integer.parseInt(portField.getText()); // the port that users enter in my application

if ( port.isClosed() ) {
    System.out.println("This port is closed.Try another!");
}

isClose - это метод, который проверяет, закрыт порт или нет. «Закрыт», я имею в виду, что пользователь не выполнил переадресацию порта.

1 Ответ

0 голосов
/ 05 июня 2018

Не на Java.Вы можете написать команду WMIC или что-то, что проверяет локальные правила брандмауэра, но если порт закрыт внешним маршрутизатором, даже это не будет работать.Вы должны выбрать a фиксированный локальный порт себя и проинструктировать пользователя о том, что он должен открыть порт с помощью любых средств, применимых на местном уровне.

...