私はajaxポーリングからsocket.ioライブデータプッシュに切り替わりますが、イベント管理のベストプラクティスについては質問があります。Socket.ioイベントを処理するためのベストプラクティス?
のは、私はこのような基本的なサーバを持っているとしましょう:
var Clients = [];
// Event fired every time a new client connects:
io.on('connection', function(socket) {
Clients.push(socket);
// What else should go in here?
// Individual functions for each event?
socket.on('chat message', function(msg){
console.log(':> '+msg);
io.emit('chat message', msg);
});
// When socket disconnects, remove it from the list:
socket.on('disconnect', function() {
var index = Clients.indexOf(socket);
if (index != -1) { Clients.splice(index, 1); }
});
});
例でchat message
イベントがあるが、理想的に私はリアルタイムでクライアントにプッシュしたいのですが、他の多くのイベントがあります、
ユーザーがメッセージを送信し、ユーザーが入力を開始/停止し、ユーザーが投稿を好きになり、ユーザーがあなたを友人/グループメンバーに招待します。
私はリアルタイムでキャプチャしたいイベントがたくさんありますが、それらのすべてでいっぱいのio.on()
ステートメントを掘り起こすよりも良い方法がなければならないようです。
私はノードOOPを調べましたが、必ずしもこのアプリケーションで役立つかどうかはわかりません。
私はsocket.on()
ステートメントがあるので、私が説明したようにイベントキャッチを含めるのがベストプラクティスでしょうか?
@ DanL - モジュール性の別のオプションについて別の段落を追加しました。 – jfriend00