問題タブ [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.
python - sockjs brukva は非同期サーバーとクライアントを使用して個人を識別して応答するため
リアルタイム Web アプリケーションを構築しています。
sockjsを使用して、クライアントを接続し、サーバーからそれぞれに異なるメッセージを識別して送信したいだけです
これまでに達成したことは、ブラウザーから接続して、同じサーバーに応答したというメッセージを送信することです。
現在のコード
サーバー.py
client.html
問題
各クライアントを識別する方法は?
接続されているすべてのクライアントのうち、単一のクライアントにメッセージを送信するように?
javascript - SockJS メッセージの最大サイズは?
Vert.x と SockJS を使用して、メッセージにカプセル化されたデータを転送しています。SockJS/Websocket メッセージの大きさの仕様はありますか?
tornado - tornado-sockjs、クライアントからセッションIDを設定するには?
リアルタイム アプリケーションを作成し、特定のユーザー (友人など) にのみリアルタイムの更新を送信したいと考えています。
クライアント側に友人IDと自分のIDのリストがあります。私が理解しているように、友人がイベントを送信したときに後で私を見つけることができるように接続するときに、自分の ID で sockjs セッションを設定する必要があります。
セッションIDを設定できる場所が見つからないという問題はありますか? sockjs-client では、接続時に URL を含むパラメーターを送信できません。
android - Android phonegap と SockJS
Phonegap にパッケージ化されたアプリでソケット接続のために Android を SockJs と連携させる方法はありますか? 現時点では、iOS では動作するが Android では失敗する次のコードがあります。これは、Android でのソケット接続の file:/// 制限のためです。
クライアントのプライバシーのためにサービス名を変更しましたが、上記のコードは iOS PG バージョン (およびデスクトップ ブラウザー) で機能するため、問題にはなりません。MyEnt オブジェクトは、SockJS クラスのカスタム関数を含む小さなラッパーですが、iOS でも完全に動作します
何か案は?
python - ゲームエンジンおよびバックエンドとしての Tornado
単純なモノポリー ゲームをリアルタイムで作成します。 ゲームの制約:
- 1ゲーム3~8人
- プレイヤー間のリアルタイム切り替え
- スコアとその他の統計
- 開始位置と終了位置
- 特定のプレイヤーから回答を受け取り、リアルタイムで確認
そこで、SockJS をリアルタイム (コメット) サーバーとして使用することにしました。SockJS でプラグイン可能な py ゲーム フレームワークを教えてください。例は大歓迎です!
python - Sockjs-Tornado での IOError 処理
sockjs-tornado チャット サンプルに基づいてインスタント メッセージング アプリケーションを開発しています。私のコードは非同期です。
このスタック トレースを持つ:
チャット参加者リストから閉じた接続への参照を削除する必要がある場合、この例外を処理する方法は何ですか?
ありがとう
performance - Meteor が Heroku にデータをロードするのに時間がかかるのはなぜですか?
MongoHQ で Heroku (無料利用枠) で Meteor を使用しています。現在、私のアプリは非常にシンプルです。コレクションから 3 ~ 4 個のエントリをロードしますが、Heroku にデプロイすると、途方もないロード時間 (1 ~ 2 分) が表示されます。HTML はすぐにレンダリングされます。Meteor.com の無料サーバーにデプロイすると、読み込み時間は大幅に短縮されますが、4 つの小さなデータの場合でも約 15 秒かかります。ローカルにデプロイすると、これはまったく表示されません。アプリは DB からすぐにデータを取得します。
Heroku の「アイドリング」の問題ではないと思うことに注意してください。アプリを開いたばかりのブラウザー ウィンドウが既に 1 つある場合でも、別のブラウザーを使用して再試行すると、読み込みに 1 ~ 2 分かかります。ただし、データが読み込まれると、パフォーマンスは元に戻り、問題なく読み書きできます。
私は何が欠けていますか?コンソールにエラーは表示されません。mongo はログにいくつかのクエリを表示し、4 つのドキュメントで迅速に応答していることを示していますが、明らかに途中で渋滞が発生しています。この Meteor を乗り越えられない場合は、今の私のニーズには役に立ちません。
更新: Firebug で注意深く監視してきましたが、パフォーマンスに一貫性がないように見えます。単純な更新に 1 分かかる場合もあれば、10 秒かかる場合もあります。しかし、私が気付いたのは、sockjs/info ファイルを取得するのが遅く、その直後に sockjs POST が中止される (複数回) ことです。高速に実行すると、POST 以降の POST がスムーズに実行されます
performance - Meteor ページをロードするときの sockjs JSONP リクエストとは何ですか? また、ダウンロード速度を最適化するにはどうすればよいですか?
添付の画像はhttp://www.webpagetest.org/からのものです。私は実際のサイトを開発していますが、ダウンロードに 10 秒ほどかかります。次に、何が起こっているかを確認するための非常に基本的なサイトを作成し、速度テストを実行しました。これらのファイルをダウンロードするのに 2 秒以上かかります。それらが何であるか、またはアプリケーションを変更してページの読み込み時間を短縮する方法がわかりません。
13 番の (関連する?) 情報は次のとおりです。
ヒントや指針は素晴らしいでしょう、ありがとう。
node.js - websocket、socket、io、sockjs、meteor...今日の選択方法について混乱しています
共同編集アプリケーションを決定しようとしています。Websocket について調査しましたが、率直に言って混乱しています。これまでの私の発見は次のとおりです。
- Websocket に関する記事はたくさんありますが、その多くは 2009 年、2010 年のものです...多くの場合、Websocket がすべてのブラウザーで完全に機能するわけではない、および/または実装が安っぽいという情報があります...今日の状況はどうですか?
- フレームワークはたくさんありますが、ほとんどはノード用です。私たちのアプリケーションは RoR にあり、Eventmachine/em-websocket は 1 年前のように見えますが、今日の要件にまだ対応できますか?
- Socket.io、SockJS、meteor など、たくさんありすぎて全部を試すことはできませんが、SockJS でいくつかの最初の試行を行いました。私たちのアプリは、バイナリ データの共同編集です。複数のユーザーが同じドキュメントを編集している場合や、複数のユーザーが同時に異なるドキュメントで作業している場合があります。したがって、スケーラビリティが重要です。SockJS は、複数のサーバー (スティッキー セッション) にスケールしないようです。また、クライアントにはピアからの更新が必要です。ブロードキャスト機能は必要ですか? これにはredisが必要ですか?
私の質問は次のようになります。
- 私たちのアプリでは、websockets を直接使用し、フレームワークをカスタマイズまたは使用する必要がありますか?
- フレームワークの場合、特定のニーズに対してより推奨されるフレームワークはどれですか?
これらの質問が少し漠然としていることは承知していますが、まず第一に、テクノロジーが適切な決定を下すための最新の理解を得たいと考えています. ありがとうございました!
node.js - WebSocketを高速化するための最良の方法
sockjsに基づくwebsocketを使用してnode.jsアプリケーションを作成し、クライアントの更新時間を最小限に抑える必要があります。
アプリケーションのイベントはNms(たとえば、20ms)ごとに発生し、ユーザーにブロードキャストをできるだけ早く変更する必要があります。
すべての更新は100〜200バイトです。切断するためのpingは90〜200ミリ秒です。
イベントが発生するたびにメッセージを送信すると、クライアントアプリに多少の遅れが生じます。設計上、これは悪い考えです。
Nmsごと(例:200ms)にメッセージを送信する場合-クライアントでの更新はよりスムーズに見えますが、「フレームドロップ」が多すぎます
この方法を組み合わせて送信するのは良い考えですか
おそらく、「2番目の」更新が「最初の」よりも早く来る場合に上書きされる「不要な」更新を行う必要があります。pingのためです。クライアントに更新のヒープがある場合に「フレームをドロップ」する方法。
ユーザーに更新をブロードキャストするための最良の方法は何ですか?ありがとう。