問題タブ [sockjs]

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 投票する
1 に答える
1184 参照

sockets - sockJSを使用してonopenで引数を取得するにはどうすればよいですか

私は SockJS クライアントを使用しています:

そして私のサーバー:

3 番目の引数を送信したいのですが、どうすれば送信できますか?

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

node.js - node.js websocket サーバーをテストするには?

標準構成でsockjsを使用しています。

wsParser.parse関数は次のように機能します。

switch で呼び出される各メソッドは、メッセージをクライアントに送り返します。

今、私の問題は、自分のコードのテストを作成したいということです (私が推測するよりも遅い方が良いでしょう) が、その方法がわかりません。mocha + supertest を使用して通常の http テストを書き始めましたが、websocket の処理方法がわかりません。

すべてのテストで再利用する websocket 接続を 1 つだけにしたいのですが、最初のメッセージの後に websocket 接続をユーザーセッションにバインドしています。その永続性もテストしたいと思います。

ws クライアントの onmessage イベントをどのように利用し、テストで利用するのですか? テストでは、受信したメッセージをどのように区別し、どのメッセージを待つべきかを知ることができますか?

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

node.js - 2 つのソケット サーバーの接続イベントをキャプチャする

私はこれを考えすぎていることを知っています...しかし、答えはクリックしないことです。

私は 2 つのサーバーを持っています。1 つは TCP ソケット サーバーで、もう 1 つは SockJS サーバーです。両方の接続イベントを 1 つのスーパー イベントに結合する必要があります。

もともと、TCP 接続を WS 接続内に入れ子にしていましたが、厳格な接続シーケンスが必要なため、問題があることがわかっています。本当に必要なのは、両方の接続が確立され、それぞれのsockインスタンスにアクセスできるときに発生するイベントです。脳をジョギングするのに役立ちます。

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

javascript - SockJS は websocket として接続されていますが、何も通過していません

特定のアクセス ネットワークで SockJS を使用しているときに問題が発生しました。これは、SockJS がネットワークの状態に応じて最適なトランスポート プロトコル (websocket、ロング ポーリングなど) を選択する方法に関連していると考えられます。

Web ブラウザーを使用して、私の SockJS クライアントは Websocket トランスポート プロトコルを使用してノード SockJS サーバーに接続されます。ノードで「接続中」イベントも表示されます。ただし、データを送信すると、何も通過しません。網羅的に言うと、他のアクセス ネットワークからは完全に機能します。

Web サイトhttp://websocketstest.com/の結果によると、このアクセス ネットワークの状態は少し特殊です。

Websocket が正常に機能することを確認するには、テスト サーバーによって毎秒更新される "Server time" 行も必要です。そうではないので、websocket 接続を切断する透過的な HTTP プロキシがあると確信しています。

ただし、SockJS はそれを検出せず、フォールバック プロトコルに切り替えません。そうするために設計されたものだと思いました。

SockJS のトランスポート ネゴシエーション機能について誤解していますか?

Socket.IOこの種のシナリオまたは透過的な HTTP プロキシを使用するこの種のアクセス ネットワークでは、より堅牢ですか?

SSL で SockJS を使用できることはわかっていますが、これはむしろフォールバックであり、実際の解決策ではないと思います。

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

websocket - sockJS-tornado の Nginx 設定例

tornado-sockJS の Nginx 構成が必要です。ウェブ上で助けてくれるドキュメントが見つかりません。

sockJSでtornado-nginx構成が機能しない..

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

spring - Spring Websocket と接続時の 404 ステータス

Tomcat 7.0.50 で実行されている作業中の Spring MVC 4.0.2 プロジェクトでは、公式リファレンスに従って、単純なブローカーと sockjs ストンプ エンドポイントを使用して Spring Websocket を実装しようとしています。したがって、contextConfigLocation (DistpacherServlet プロパティ) に、以下を含む値「websocket-config.xml」を追加しました。

Tomcatを起動すると、Eclipseコンソール(カタリナログ)に行が表示されます

  • ExecutorService 'clientInboundChannelExecutor' を初期化しています
  • ExecutorService 'clientOutboundChannelExecutor' を初期化しています
  • ExecutorService 'messageBrokerSockJsScheduler' を初期化しています
  • タイプ [class org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler] のハンドラーにマップされた URL パス [/monitor/**]

jspページにコードを入れました

. . . .
var socket = new SockJS("モニター");
var stompClient = Stomp.over(ソケット); . . . .

残念ながら、Chrome (v32) から jsp ページをロードすると、次のエラーが発生します。

リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました

http://localhost:8080/(プロジェクト名)/monitor/info

明らかに、私はこのテストをローカルで行っています。その後、他のすべての webapp リソースは http://localhost/(ProjectName) で正しく到達可能です。

どうしたの?

**** 2014 年 2 月 20 日更新Spring Websocket に Tomcat8 を使用することを提案しているこの解決済みのスタックの質問に従おうとしましたが、残念ながら機能しません。