問題タブ [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 に答える
1238 参照

websocket - sockjs-tornadoメソッド内からの非同期呼び出し

私はsockjs-tornadoでサーバーを構築していますが、tornadoの非同期HTTPクライアント、またはasyncmongo、tornado-redisなどのtornadoの他の非同期機能をどのように利用できるのでしょうか。どうやらtornado.web.asynchronoustornado.gen.engineデコレーターを使用することはできません。ランダムな方法で。したがって、SockJSConnection内から非同期のMongo / HTTP / Redis呼び出しを行う必要がある場合on_message()、どのようにすればよいですか?

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

websocket - SockJSのJSONメッセージ-トルネード

SockJS on_message()-Tornadoライブラリのメソッドで、JSONメッセージをクライアントに送信したいと思います。メソッドを使用して特定のクライアントに送信する場合send()もあれば、メソッドを使用してクライアントのグループに送信する場合もありますbroadcast()

simplejsonメッセージを送信する前に、文字列キーの辞書オブジェクトを自分でエンコードするようなものを使用する必要があるかどうか疑問に思います。

または、エンコーディング部分はすでにSockJS-Tornadoによって処理されていますか?さらに、メソッドのmessage引数on_message()も常にJSONオブジェクトであるというのは本当ですか?

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

node.js - NodeJSの耐久性/永続性を備えたSockJS(websocket)を介して接続するにはどうすればよいですか?

ユーザーがページをリロードしている間、SockJS (websocket) 経由で接続された NodeJS の接続を永続的に (切断しないで) 管理するための最良のソリューションは何ですか?

セッションでそれを行うことはできますか?

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

python - Vertx SockJS サーバーと sockjs-tornado

独立した Python サーバーを使用して sockJS を介して Web ソケットをサポートするための 2 つの同様のソリューションを調査してきましたが、これまでに 2 つのソリューションを見つけました。

複雑でスケーラブルな Web ソケット ベースの Web アプリケーションを作成する必要があります。残念ながら Tornado をスケーリングするのは難しく、Web ソケットの水平方向のスケーリングには Vertx の方が優れているようです。

また、Redis を Tornado と組み合わせて使用​​して、pub/sub システムを水平方向にスケーリングし、HAproxy を使用して SockJS リクエストをスケーリングできることも理解しています。

Vertx と Tornado の間で、SockJS をサポートするスケーラブルなシステムを作成するための推奨されるソリューションは何ですか?

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

erlang - Websocket 接続を処理するカウボーイ プロセスとのリンク (カウボーイ、アーラン)

カウボーイとsockjsの両方を使用するerlangアプリを開発していますが、websocket接続を処理するカウボーイプロセスとリンクすることは可能でしょうか?

現在、gen_server の動作を伴うプロセスは、各 websocet 接続に関連付けられています。このようなプロセスは Conn インスタンスを init に格納し、クライアントが接続を閉じると、このプロセスは websocket ハンドラーから終了します。gen_server プロセスが終了すると、クリーンアップを行う gen_server の terminate() から Conn:close が呼び出されます。それは機能しますが、trap_exit が有効になっていても終了関数が呼び出されない場合がいくつかあるため、このソリューションは好きではありません。したがって、リンクが可能であれば、より簡単なソリューションになります。

0 投票する
3 に答える
6256 参照

websocket - Websocket ハンドシェイクが HAProxy でハングする

最新の Chrome ブラウザーで、sockjsクライアントを使用して、背後にあるバックエンド サーバーと通信しようとしていますhaproxy。私のローカルホスト (途中ではない) では、これは正常に機能しています。クライアントは、プロトコルhaproxyを使用してメッセージを接続、送受信できます。websocket例えば:

を使用してサーバーにデプロイすると、接続が開いていると思われるHAProxy奇妙なことが起こります (コンソール ログに「msg sent」が表示されます) 。以下は、ログに表示されるものです。sockjsconn.readyState === SockJS.OPENwebsockethaproxy

2 番目のログ メッセージは、バックエンド サーバーをシャットダウンしたときにのみ表示されることにhaproxy注意してください。シャットダウンする前に、ログにエラーはありませんが、websocket ハンドシェイクは完了せず、サーバーはメッセージを受信しません。

Chrome の開発者ツールを使用すると、[ネットワーク] タブに次のように表示されます。

そして、オブジェクトの「タイプ」と「時間遅延」の両方がwebsocket、開発者ツールのネットワークタブの下に「保留中」と表示されます。

最後に、これは私のhaproxy設定です (バージョン 1.4.22):

なぜこれが起こっているのか誰にも分かりますか?haproxyサーバーの構成、または一般的なネットワーク設定 (例iptables)が原因ですか?

http-pretend-keepalivePS で有効にしようとしましhaproxyたが、機能しません。

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

python - サンダープッシュ監視

Thunderpushは、Tornado および SockJS ベースのプッシュ サービスです。Beaconpush (beaconpush.com) にインスパイアされた HTTP API とクライアントを提供します。

使用状況の統計とパフォーマンスを監視する方法を知りたい

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

python - Sockjs-竜巻とRPC

私は自分のサイトにsockjs-tornadoサーバーを追加しようとしていますが、MsgPackを介して(msgpack-rpc-pythonを使用して)他のアプリに接続することを決定するまで、すべて正常に機能しました。そして今、sockjsサーバーまたはRPCサーバーのどちらかで動作します。それらのどちらから開始するかに応じて、最初にループを開始します。

両方に1つのtornado.ioloopを使用する必要があると思います。しかし、それを達成する方法がわかりません。または、竜巻サーバーにrpcを追加する別の方法があるかもしれませんか?

msgpack-rpc-pythonを使用したsockjs-tornadoサンプルコードは次のとおりです。

`

どんな提案や例でも大歓迎です!

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

https - SockJS が IE9 で問題を抱えている

ここで同様の失敗の報告を見ました: https://groups.google.com/forum/?fromgroups=#!topic/sockjs/QNtA1_p_arU、しかし私の問題は違うようです。

私のセットアップ: クライアントはhttps://www.mysite.com/sockjsSockJS に接続し、実際のページは で提供されhttps://www.mysite.com/blah/blah/blahます。ページ上のすべての外部要素 (css や js など) は、SockJS-Client (https://d1fxtkz8shb9d2.cloudfront.net/sockjs-0.3.js、最新リリースでは 0.3.4 である必要があります) を含むhttpsで提供されます。バックエンドは SockJS-Tornado で作成されています。

問題 1 : 次のプロトコルを使用するように指定します。

iframe-htmlfileただし、サーバーログに次のように表示されるように、IE9 は単に最悪のプロトコルを使用しているようです。

xdr-streamingorを使用しないのはなぜxdr-pollingですか? SockJS doc では、これらの 2 つのプロトコルに「IE8, 9 (cookies=no)」というラベルが付けられていますが、これは、ブラウザーで Cookie が無効になっている場合にのみ SockJS がそれらを使用することを意味しますか?

問題 2 : protocoliframe-htmlfileを使用すると'Only Secure Content is Displayed'、混合コンテンツの問題を示す警告がページに表示されます。ただし、テスト済みの他のブラウザー (Chrome、FireFox、Safari など) ではこの警告は報告されず、前述のように、ページ上のすべての外部リソースは https を介して提供されます。どうしてこれなの?使用されているこの特定のプロトコルに関連していiframe-htmlfileますか?

同時に、SockJS はサーバーへの接続とメッセージの送信に苦労します。これは、サーバーログに表示されるものです。

最後のエラーはタイムアウトのようです。IE9 で警告ダイアログを閉じると、接続が開いているように見えますが、その後ブラウザからメッセージが受信されません (ブラウザは、接続が開くとすぐにメッセージを送信する必要があります)。これは以前の混合コンテンツ警告と関係があるのだろうか。

0 投票する
4 に答える
1082 参照

html - 同じマシン上の 2 つの異なるブラウザーが両方とも websocket を使用してサーバーに接続できますか?

同じマシン (つまり同じ IP) に 2 つの異なるブラウザー (Chrome と Safari) がありますが、両方とも websocket を使用して同じサーバーに接続できるのでしょうか?

私はもう試した。Chrome は正常に接続しますが、Safari は次のようなエラーをスローします。

しかし、これが IP アドレスごとに 1 つの websocket 接続という何らかの制限によるものかどうかはわかりません。