В настоящее время мы пытаемся внедрить сервер WebSocket с использованием Tyrus, и все прошло хорошо (связь между сервером и клиентом работала хорошо), пока мы не попытались проверить, что произойдет, если инициализация сервера не удалась (например, плохой порт).Tyrus: сбой без старта сервера
Исходный код вызывает SocketException (разрешение отклонено). Исключение записывается в stdout, но сервер продолжает работу, и программа продолжается за пределами метода start().
public void runServer() {
// bad port number
Server server = new Server("localhost", 10, "/websockets", null, EchoEndpoint.class);
try {
server.start();
// this line should not be printed
System.out.println("Server started");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please press a key to stop the server.");
reader.readLine();
} catch (Exception e) {
System.out.println("Exception caught");
e.printStackTrace();
} finally {
server.stop();
}
}
Есть ли способ определить, успешно ли запущен сервер?
EDIT: Мы знаем, что мы не можем использовать порт 10 (именно поэтому мы его попробовали). Нам просто нужно проверить, работает ли сервер (каким-то образом поймав исключение). (И мы не хотим проверять его, пытаясь отправить некоторые фиктивные данные с клиентом - это на самом деле не устранит проблему)
Благодарим за ваш ответ, но я знаю, что этот порт не может быть использован. Вот почему сервер не запускается (и это самый простой способ «имитировать» неудачный старт). Мой вопрос заключался в том, как обнаружить, что сервер не запускался. –