1
我在節點上給我的第一步,並寫一個簡單的聊天應用程序。每當nodejs獲取一個新的套接字連接時,它都會保存在一個簡單的數組中......我的問題是連接關閉時,因爲他的引用仍然存在...... 如何在發送任何事件之前檢查連接是否處於活動狀態她,避免崩潰?socket.io,我如何知道套接字是否保持活動狀態?
我在節點上給我的第一步,並寫一個簡單的聊天應用程序。每當nodejs獲取一個新的套接字連接時,它都會保存在一個簡單的數組中......我的問題是連接關閉時,因爲他的引用仍然存在...... 如何在發送任何事件之前檢查連接是否處於活動狀態她,避免崩潰?socket.io,我如何知道套接字是否保持活動狀態?
我打算使用來自socket.io網站的示例。
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僅發送給一個客戶端,或者爲什麼廣播將發送給除發送者之外的所有人。
socket.on('disconnect', function() {
clearInterval(tweets);
});
注意如何清除間隔?再次,這是客戶特定的,因爲它是發生在一個特定的「窩」,所以你可以這樣做:
socket.on('disconnect', function() {
socket.broadcast.emit('disconnected', {user: "film42", status: "disconnected from server"});
});
Socket.IO將處理心跳/斷開優雅,所以你不必擔心演員,只是處理斷開連接。我希望這對你有用:)。
謝謝!現在我看得更清楚了! –