0

一定期間後にサーバー側からデータをプッシュするためにイベントソースRPCプラグを使用しています。200ミリ秒なので、クライアントリクエストは存在しません。したがって、サーバーは大量のデータを送信し(200ミリ秒は非常に高速です)、クライアント側のグラフにデータを表示するために(GChartを使用しています)、クライアント側にバッファー(FIFO)が必要です。クライアント側でスムーズに表示する必要があるため、データを保持して値(x、y)(x1、y1)(x2、y3)....(を表示するためにクライアント側にバッファーが必要です。 Xn、Yn)...グラフ内でFIFO方式でスムーズに実行され、クライアントのパフォーマンスに応じて200msの遅延を動的に調整し、サーバーに情報を送り返すことができます。

クライアントとサーバー間の通信は、以下のように人間の会話として書くことができます

クライアント:mrサーバーの速度を低下させます。あまり多くのデータを処理できず、FIFOバッファがいっぱいです。

サーバー:わかりました。遅延時間を200ミリ秒から500ミリ秒に変更していますが、実行するデータが少ない場合は、200ミリ秒というより速いムードにもう一度変更することをお知らせください。

クライアント:わかりました。バッファが空の高速データを送信します。

事前に感謝しますGwt、gchart、event-source

4

2 に答える 2

1

単純なArrayListは機能しませんか?(値を追加して最初の要素を削除するだけで、バッファーとして使用されますか?)

これが遅すぎる場合(Javaエミュレーションのオーバーヘッドが多すぎる場合)は、より多くのJavaネイティブ配列を作成するか、すぐに使用できる実装を見つけることができます。

単純で単純なArrayListの使用を開始し、それが十分に高速に動作するかどうかを確認します。速度が遅すぎることが判明した場合は、より高速な代替手段を探します...

于 2011-06-16T10:26:16.853 に答える
0

サーバー送信イベント(別名EventSource)は、サーバーからクライアントへの1つの方法のみです。これを参照してください:http ://www.html5rocks.com/en/tutorials/eventsource/basics/

あなたの場合、データをより遅く送信するように通知するために、サーバーにデータを送り返す必要があります(遅延を増やします)。EventSourceは一方向のみであるため、サーバーに速度を落とすように通知するには、追加の接続(GWT-RPCなど)が必要になります。

于 2011-06-16T10:34:57.993 に答える