ich mit js Client-Seite bin mit socket.io wie so:Socket.IO nicht Client-Seite Ereignisse feuern, wenn Internet-Verbindung Schneiden
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;
}
Wenn ich den Server abschalten, die disconnect
Ereignis wie erwartet gefeuert. Wenn ich den Server wieder einschalte, wird reconnect
wie erwartet ausgelöst.
Allerdings, wenn ich von meinem Wi-Fi, das disconnect
Ereignis schaltet nie (ich habe es einige Minuten).
Wenn ich die Wi-Fi zurück auf das reconnect
Ereignis nicht feuern, scheint es jedoch wieder eine Verbindung herzustellen, wie die Nachrichten dann richtig emittieren und empfangen werden.
Wie kann ich diese Ereignisse bei Verlust von Wi-Fi auslösen?
Das ist ein guter. Dann weißt du, dass es wirklich Zeit ist, eine Pause vom Programmieren zu nehmen und etwas anderes für eine Weile zu machen. – jfriend00