私はノードで最初のステップを実行し、簡単なチャットアプリを作成しています。nodejsが新しいソケット接続を取得するたびに、単純な配列に保存されます...私の問題は、彼の参照がそこに残っているため、接続が閉じられたときです...彼女にイベントを発行する前に、接続が有効かどうかを確認するにはどうすればよいですか? 、クラッシュを回避しますか?
質問する
3209 次
1 に答える
4
socket.ioWebサイトの例を使用します。
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
var tweets = setInterval(function () {
getBieberTweet(function (tweet) {
socket.volatile.emit('bieber tweet', tweet);
});
}, 100);
socket.on('disconnect', function () {
clearInterval(tweets);
});
});
接続時に、ソケット変数を渡します。これは各クライアントに固有であるため、socket.emitは1つのクライアントにのみ送信するか、ブロードキャストは送信者を除くすべてのクライアントに送信します。
socket.on('disconnect', function () {
clearInterval(tweets);
});
間隔がどのようにクリアされるかに注意してください。繰り返しますが、これは特定の「ソケット」で発生するため、クライアント固有であり、次のようなことができます。
socket.on('disconnect', function () {
socket.broadcast.emit('disconnected', {user: "film42", status: "disconnected from server"});
});
Socket.IOはハートビート/切断を適切に処理するため、切断を処理するだけで余分なことを心配する必要はありません。私はそれがあなたのために働くことを願っています:)。
于 2012-11-17T21:03:43.310 に答える