0

grizzly-websockets-chat の実行に苦労しています。サンプルのコンパイルに成功しました。HttpServer.createSimpleServer が実行され、localhost:8080 でテスト index.html を提供しています。WebSocketEngine.getEngine().register("/chat", chatApplication) は問題なく実行されます。ただし、localhost:8080/chat は「パス '/chat' で識別されるリソースは存在しません。」を返します。これは Glassfish ではなく、スタンドアロンの Grizzly/2.2.19 です。

一部のコメントは、Websocket サポートがデフォルトでオフになっていることを示唆しています。Glassfish の外でそれをオンにする方法を特定できません。docroot にはテスト用の index.html しかありません。他に必要なものはありますか?

クライアント側で特別なことは何も実行していません-jsも何もありません。私はサンプルでそのようなものを見たことがありません。驚いたことに、良いドキュメントや実行例が見つかりませんでした。多分ユーザーの問題ですか?;/

websocket コードが呼び出されているようです:

$ java -jar ./tyrus-client-cli-1.1.jar ws://localhost:8080/chat 
# Connecting to ws://localhost:8080/chat... 
# Failed to connect to ws://localhost:8080/chat due to Handshake error

どんな助けでも大歓迎です!

4

1 に答える 1

1

リクエスト URI を ws://localhost:8080/grizzly-websockets-chat/chat に変更します。

ChatApplication では、isApplicationRequest() に対して次のように定義されています。

@Override
public boolean isApplicationRequest(HttpRequestPacket request) {
    return "/grizzly-websockets-chat/chat".equals(request.getRequestURI());
}
于 2013-08-06T17:35:28.660 に答える