0
現在、サーバの初期化が失敗した場合(たとえば不正なポート)に何が起きるか試してみるまで、Tyrusを使用してWebSocketサーバを実装しようとしています。Tyrus:サイレントサーバの起動時にエラーが発生する
基になるコードは、SocketException(permission denied)をスローします。例外は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();
}
}
サーバーが正常に起動したかどうかを検出する方法はありますか。
編集:私たちはポート10を使用できないことを知っています(これが試した理由です)。サーバーが実行されているかどうかを確認するだけです(何とか例外が発生する)。 (そして、クライアントでダミーのデータを送信しようとすると、実際に問題を解決することはできません)。
ありがとうございますが、このポートは使用できません。そのため、サーバーは起動しません(失敗した起動を「シミュレート」するのが最も簡単な方法です)。私の質問は、サーバーが起動しなかったことを検出する方法でした。 –