0
我使用socket.io与JS客户端,像这样的时候不费一枪客户端事件:Socket.IO切断互联网连接
this.connect = function(roomname) {
var deferred = $q.defer();
if(self.isConnected) {
deferred.$$reject('already connected');
return deferred.promise;
}
self.isConnected = true;
connectedRoom = roomName;
socket = io('', {
query: 'roomname=' + roomname
});
socket.on('connect', function() {
console.log('socket client connected ' + socket.id);
$rootScope.$broadcast('socketsConnected');
socket.emit('room', roomName, function() {
deferred.resolve();
});
});
socket.on('reconnect', function() {
self.isConnected = true;
console.log('socket client reconnecting ' + socket.id);
});
socket.on('disconnect', function() {
self.isConnected = false;
console.log('socket client disconnecting ' + socket.id);
});
return deferred.promise;
}
当我关掉服务器,该disconnect
触发的事件如预期。当我重新启动服务器时,按预期启动reconnect
。
但是,如果将我的Wi-Fi时,disconnect
事件永远不会触发(我已经离开了好几分钟)。
当我在reconnect
事件中切换回wi-fi没有触发时,它似乎会重新建立连接,因为这些消息会正确发送和接收。
我怎样才能得到这些事件火上失去的Wi-Fi?
这是一个很好的一个。那时候你知道现在是时候休息一下编程,去做一些其他的事情了。 – jfriend00