У меня есть список серверов радиуса, работающих на каждом Datagram Socket, и у меня есть список серверов начального радиуса, доступных мне. У меня есть требование, когда мне нужно проверить, остановлен ли какой-либо конкретный сервер, и если он остановлен, мне нужно его перезапустить. Ниже приведен код, который я пишу, но не уверен, что это правильный способ сделать это. Пожалуйста, совет.Как проверить, работает ли какое-либо приложение в порту датаграммы?
....
int port = radiusServer.getAggregation()
.getAuthenticationPort();
try {
// It will throw IO exception if no application is
// running
// on that
// port.
new DatagramSocket(port);
LOGGER.info(
"There is a server running on the Port number {}.",
port);
} catch (IOException e) {
LOGGER.error(
"Server is not running on port number {}.",
port);
startServer(radiusServer);
}
....
{попробуйте { \t \t \t \t \t \t // Он будет бросать IO исключение, если приложение не является \t \t \t \t \t \t // работает \t \t \t \t \t \t // на этом \t \t \t \t \t \t // порт. \t \t \t \t \t \t DatagramSocket ds = new DatagramSocket (port); \t \t \t \t \t \t ds.close(); \t \t \t \t \t \t LOGGER.warn ( \t \t \t \t \t \t \t \t "Сервер не запущен на номер порта {} Запуск сервера"., \t \t \t \t \t \t \t \t порт); \t \t \t \t \t \t startServer (radiusServer); \t \t \t \t \t} поймать (IOException е) { \t \t \t \t \t \t, если (LOGGER.isDebugEnabled()) { \t \t \t \t \t \t \t LOGGER.debug ( \t \t \t \t \t \t \t \t \t «Существует сервер, уже запущенный на Por t number {}.» \t \t \t \t \t \t \t \t \t порт); \t \t \t \t \t \t} \t \t \t \t \t}} – Mohit