問題タブ [java-websocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
4598 参照

jakarta-ee - grails 3.0.9 WebSocket 404 エラー

grailsでチャットアプリを作ろうとしています。私はgrails 3.0.9とtomcat-8.0.28を使用しています

重複して申し訳ありません

私はこの質問これを読みました...しかし、それは私の問題を解決しません..

私はすでに javax.websocket-api を次のように提供されたものに変更しています:

しかし、私はまだこのエラーが発生します:

Firefox: Firefox はhttp://103.56.148.50/chat/chatEndPoint/C001D939F2564251C86E646B9127495Dでサーバーへの接続を確立できません」

Chrome: WebSocket ハンドシェイク中のエラー: 予期しない応答コード: 404

あなたはこのサイトを見ることができます...

これは私のコードです

これはJavaScriptで

これはbuild.gradleの私の依存関係です

================================================== =================

実行しようとしました: grails prod run-app

私のウェブソケットが機能しなくなりました...

しかし、grails run-app を実行すると動作します

それはServerEndPointDemo.groovy私が入れたから/src/main/groovy/com.akiong/ServerEndPointDemo.groovy ですか?

================================================== ============================

削除後にこのエラーが発生しますif (Environment.current == Environment.DEVELOPMENT)

0 投票する
1 に答える
446 参照

glassfish-4 - Websocket @OnOpen が Glassfish 4.1.1 Payara 4.1.1.115 Tyrus 1.11 で起動されない

私は実際に悪夢の中にいます。私のwebappはチャットにwebsocketsを使用していますが、ここで問題が発生します:

Glassfish 4.1u13 を使用すると、アクセス ログ監視を有効にするまで、すべて正常に機能しました。それ以来、すべての ws リクエストが 2 回行われ、Web ソケットはハンドシェイクを実行できませんでした。 https://java.net/jira/browse/GLASSFISH-21007

Glass Fish 4.1.1 にアップデートしようとした -> 問題 PERSIST

Payara 4.1.1.115 (glassfish のパッチ バージョン) に切り替えようとしたところ、すべてがスムーズに進みました。これで、Glassfish インスタンスで Websocket とアクセス ログを取得できるようになりました。

数分後、ページをリロードすると、クライアント アプリとサーバー間の通信が常に行われるとは限らないことに気付きました。ネットワークを検査 -> ハンドシェイクは正しく行われますが、データを交換できません。

サーバー側では、2 つのシステムを作成しました。1 つはリクエスト サーブレットのフィルターに、もう 1 つは Websocket エンドポイントにあります。すべてのリクエストがサーバーに到着し、ハンドシェイクを行いますが、wss が 101 にアップグレードされたとしても、@OnOpen が呼び出されないことがあります。Tyrus 1.12 (payara は 1.11 を使用) にアップデートし、1.8.1 (機能する Glassfish 4.1u13 で使用されるバージョン) にダウングレードしようとしましたが、何も起こりません。

この動作をデバッグするにはどうすればよいですか?

0 投票する
2 に答える
2296 参照

java - jetty に webapps と websocket をデプロイする

アプリケーションに Jetty を組み込みました。私は 1 つの webapp を持っており、その webapp を Jetty に正常にデプロイしました。ここで、Websockets に関する別の要件が発生しました。このリンクに従って、Jetty に WebSocket をデプロイしました。Websockets をサーバーにデプロイした後、最初の webapp が機能しません (ホームページが開きません)。画像はこちら

ここに画像の説明を入力

コードは次のとおりです (コード全体をここに貼り付けるのは非常に難しいため、webapp と websocket の展開コードを貼り付けます)。

ウェブアプリの展開:

WebSocket の展開:

WebSocketServer.java:

前述の websocket コードを含めると、実際の webapp は機能しませんが、websocket コードは機能しています。

では、1 つの Jetty サーバーに webapp と websocket をデプロイする方法は?

更新しました:

現在の webapp 自体に Websockets を含めようとしましたが、次の例外が発生しています。

java.lang.NullPointerException: null at org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.configureContext(WebSocketServerContainerInitializer.java:65) ~[javax-websocket-server-impl-9.3.6.v20151106.jar: 9.3.6.v20151106] com.tdg.daemon.server.RiseServer.getWebappHandlers(RiseServer.java:122) で ~[classes/:na] com.tdg.daemon.server.RiseServer.addWebApps(RiseServer.java:77) で) ~[classes/:na] at com.tdg.daemon.server.RiseServer.init(RiseServer.java:59) ~[classes/:na] at com.tdg.daemon.server.RiseServerConfiguration.build(RiseServerConfiguration.java) :475) ~[classes/:na] at com.tdg.daemon.server.launcher.DefaultTdgServerLauncher.start(DefaultTdgServerLauncher.java:78) [classes/:na] at com.tdg.daemon.server.launcher.DefaultTdgServerLauncher. main(DefaultTdgServerLauncher.java:140) [classes/:na] org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.configureContext(WebSocketServerContainerInitializer.java:65) での java.lang.NullPointerException com.tdg.daemon.server.RiseServer.getWebappHandlers で(RiseServer.java:122) com.tdg.daemon.server.RiseServer.addWebApps(RiseServer.java:77) com.tdg.daemon.server.RiseServer.init(RiseServer.java:59) com.tdg. daemon.server.RiseServerConfiguration.build(RiseServerConfiguration.java:475) at com.tdg.daemon.server.launcher.DefaultTdgServerLauncher.start(DefaultTdgServerLauncher.java:78) at com.tdg.daemon.server.launcher.DefaultTdgServerLauncher.main( DefaultTdgServerLauncher.java:140) [] 12/02/2015 17:50:06.985 [main - ] INFO ctdslDefaultTdgServerLauncher - RiseServer がポート 80 および 443 で開始されました。

0 投票する
1 に答える
217 参照

java - ServerEndpoint にデータを保存する

WebSockets を使用して簡単なアプリを開発しています。クライアント側では入力テキストを送信できますが、サーバー側は ServerEndpoint として注釈が付けられた Java クラスを介して実装されます。ここでは、受信した入力テキストがデコードされ、開いているすべてのセッションに送信されます。

これは機能しますが、サーバーが受信したすべてのメッセージを保存して、新しいクライアントが接続したときに (@OnOpen で注釈が付けられたメソッドを使用して)、「オフライン」の間に送信されたすべてのメッセージを受信するようにします。データベースを使用せずにこのメッセージをどこに保存できますか?

0 投票する
1 に答える
3428 参照

java - Tomcat が websocket 接続をエラーで閉じる

お客様のために、 Tomcat 8.0.29を使用して HTML5 websocket アプリケーションを構築します。ネットワークまたはホーム ネットワークからアプリケーションを起動すると、すべて正常に動作します。しかし、顧客が自分のネットワークからアプリケーションを起動すると、一定時間後に websocket がエラーで停止します。これは 5 分または 20 分後に発生する可能性があります。

SSL の有無にかかわらず、2 つの異なるサーバーでテストしました。お客様のネットワークでのみ、接続がエラーで切断されます。

また、Tomcat に含まれている websocket echo の例でテストを行います。私たちのウェブソケットと同じです。一定時間後、websocket はエラーで停止します。ただし、お客様のネットワークからアプリケーションを起動した場合に限ります。

エコーの例がエラーで停止すると、次のメッセージが server.log に書き込まれます。

http://www.websocket.org/echo.htmlでテストを開始すると、接続はエラーで閉じられません。

私にとっては、Tomcat の問題のようです。しかし、それを正しく実行するにはどうすればよいでしょうか?

Tomcat: 8.0.29 (以前のバージョンも)
Windows 7: 64 ビット
プロトコル: HTTP/1.1

0 投票する
1 に答える
209 参照

javascript - Web ソケット クライアントを介してアップロードすると、ファイルのサイズが常にゼロになるのはなぜですか?

Websocket クライアント コードがあり、それを介してファイルをアップロードすると、Web ソケット サーバーがファイルを受け取ります。しかし、サイズは常にゼロです。tootallnate の Java-Websocket サーバーを使用しています。以下は私のクライアントコードです。

以下は私のWebソケットサーバーコードです。

ご意見をお聞かせください。