計算している分析データの種類と使用しているグラフの種類を知らなければ、良い例を示すのは少し困難です。とにかく、これは単純なシナリオ用です。
サーバーが一部の分析データを変更した場合、socket.io を使用して、新しい分析データを含むメッセージをクライアントに送信します。このようなもの:
io.sockets.emit('analyticsUpdate', x, y);
クライアントで、通常どおり Highcharts グラフを作成しますが、次に load() イベントをチャート オプションに追加し、socket.io を使用して新しいデータを取得し、次のようにチャートを更新します。
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'spline',
events: {
load: function() {
socket.on('analyticsUpdate', function (x, y) {
// Simple case where you have a single series
// and your data can simply be appended to the series
var series = this.series[0];
series.addPoint([x, y], true, true);
};
}
}
}
});
そのため、サーバーが分析データを更新するたびに、socket.io がメッセージを送信します。クライアントは常にサーバーからのメッセージをリッスンしているため、新しいメッセージを受信するたびにグラフを更新します。