Ich habe einen node.js Server und ich benutze socket.io für die Echtzeit-Kommunikation zwischen dem Server und den Clients. Ich habe beobachtet, dass, wenn ein mobiler Client (mit Ionic Framework) plötzlich getrennt wird, ohne den Server darüber zu informieren, die Sockets für Stunden (oder für immer) am Leben sind. Ich habe gelesen und schaute auf ihre Dokumentation und sie haben Optionen wie pingInterval, pingtimeout, heartbeat interval, heartbeat timeout, close timeout
.Konfigurieren der Heartbeat Timeout, Heartbeat Intervall und schließen Timeout auf Server
Wie konfiguriere ich diese Werte auf meinem Server?
Welcher dieser Werte ist veraltet?
Hier ist mein Code.
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){...}
Keine dieser scheint zu funktionieren. Jede Hilfe oder Anleitung wird sehr geschätzt.
PS: Ich bin Steckdosen meiner Sammlung Spleißen, wenn ein Client trennt und es funktioniert gut, wenn Kunden-Server sagen, dass sie ordnungsgemäß zu trennen möchten.
Was ist mit 'pingInterval'? –
Wie die Dokumentation sagt, "pingInterval (Anzahl): wie viele ms vor dem Senden eines neuen Ping-Pakets (25000)". Ich denke nicht, dass es in Ihrem Fall relevant ist. –