Stavo lavorando con socket.io v1.3.6 (nodejs) e ho cercato di emettere i dati dal browser utilizzando il codice seguente.socket.io emette quando il server è offline
Codice Cliente
var socket = io.connect('http://something.com:3300/');
function sendMessage(message) {
\t socket.emit('message', message);
}
Codice Server
var io = require('socket.io').listen(3300);
io.sockets.on('connection', function (socket) {
messageHandler(socket);
});
function messageHandler(socket) {
socket.on('message', function (data) { \t
\t console.log('Captured a message : ' + data); \t
});
}
mio server presa http://something.com:3300/ è giù inizialmente, e ha cercato di chiamare alcuni sendMessage() - (diciamo circa 10 chiamate)
Come previsto nel browser io ottenere l'errore di handshake nel registro della console.
Ho aspettato 5 minuti e ho avviato il server socket.
Ma sorprendentemente tutti i messaggi inviati in modalità offline vengono acquisiti nel server, una volta stabilita l'handshake.
Le mie domande: 1) Questa logica offline è parte delle specifiche di socket.io o WebSocket? 2) Ho cercato un sacco di domande su socket.io in modalità offline e ho visto alcuni consigli di gestione speciali per acquisire messaggi offline. Ma come funziona senza quegli speciali controlli offline?
Grazie che spiega bene! Quando onconnect, emetterà tutti i dati in emitBuffers ... Lo rende affidabile finché il browser rimane aperto. – Shabeel
Bene, potresti accettare la mia risposta? Sono felice di aiutare :) – gabowsky