Mam serwer node.js i używam socket.io do komunikacji w czasie rzeczywistym między serwerem a klientami. Zauważyłem, że jeśli klient mobilny (Using Ionic Framework) rozłącza się nagle, nie informując o tym serwera, gniazda są żywe przez wiele godzin (lub na zawsze). Przeczytałem i przejrzałem ich dokumentację i oni mają opcje jak pingInterval, pingtimeout, heartbeat interval, heartbeat timeout, close timeout
.Konfigurowanie limitu czasu pulsu, interwału pulsu i zamykania limitu czasu na serwerze
Jak skonfigurować te wartości na moim serwerze?
Które z tych wartości są przestarzałe?
Oto mój kod.
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
io.set('heartbeat interval', 5000);
io.set('heartbeat timeout', 8000);
io.set('timeout', 5000);
io.on('connection', function(socket){...}
Żadne z nich nie działa. Każda pomoc lub wskazówki są wysoko cenione.
PS: Ja składanie gniazda z mojej kolekcji, gdy klient rozłączy i to działa dobrze, gdy klienci serwera powiedzieć, że chcą rozłączeniem wdziękiem.
Co z 'pingInterval'? –
Jak mówią dokumenty, 'pingInterval (Number): ile ms przed wysłaniem nowego pakietu ping (25000)'. Nie sądzę, że ma to znaczenie w twoim przypadku. –