問題タブ [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.
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)
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 で使用されるバージョン) にダウングレードしようとしましたが、何も起こりません。
この動作をデバッグするにはどうすればよいですか?
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 で開始されました。
java - ServerEndpoint にデータを保存する
WebSockets を使用して簡単なアプリを開発しています。クライアント側では入力テキストを送信できますが、サーバー側は ServerEndpoint として注釈が付けられた Java クラスを介して実装されます。ここでは、受信した入力テキストがデコードされ、開いているすべてのセッションに送信されます。
これは機能しますが、サーバーが受信したすべてのメッセージを保存して、新しいクライアントが接続したときに (@OnOpen で注釈が付けられたメソッドを使用して)、「オフライン」の間に送信されたすべてのメッセージを受信するようにします。データベースを使用せずにこのメッセージをどこに保存できますか?
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
javascript - Web ソケット クライアントを介してアップロードすると、ファイルのサイズが常にゼロになるのはなぜですか?
Websocket クライアント コードがあり、それを介してファイルをアップロードすると、Web ソケット サーバーがファイルを受け取ります。しかし、サイズは常にゼロです。tootallnate の Java-Websocket サーバーを使用しています。以下は私のクライアントコードです。
以下は私のWebソケットサーバーコードです。
ご意見をお聞かせください。