2

Node.js で Socket.io を使用しており、毎秒メッセージを送信するプロセスがあります。基本的に、次のような間隔があります。

setInterval(function(){
 socket.emit('message', msg);
}, 1000);

xhr-polling のみを使用すると、ポーリングはかなり散発的になります。場合によっては、1.0 秒、1.01 秒、または 999 ミリ秒前後でかなり正確にポーリングします。それ以外の場合は、200ms や 1.5ms などになります。

サーバーで遅延を引き起こす可能性のあるすべてのロジックを削除し、単に静的データを発行しましたが、それでも非常に散発的です。

これをより正確に処理するためのより良い方法についてのアイデアはありますか?

ありがとう!

4

1 に答える 1

0

私は Socket.io を使用していくつかのゲームを構築し、サーバー上で 30 フレーム/秒で実行し、すべてのクライアントに情報の更新をプッシュするという素晴らしい結果を得ました。クライアントがソケットをサポートしていないときに問題が発生したことを覚えています(フラッシュへのフォールバック)-クライアントから送信されたデータはほぼ瞬時に送信されたようですが、サーバーから送信されたデータはあなたが説明したとおりです(散発的です)。

于 2012-10-16T16:11:15.020 に答える