Skip to content

Instantly share code, notes, and snippets.

@lpinca
Created September 22, 2014 14:22
Show Gist options
  • Save lpinca/bc544e9157c453660e63 to your computer and use it in GitHub Desktop.
Save lpinca/bc544e9157c453660e63 to your computer and use it in GitHub Desktop.
Engine.IO data loss (҂⌣̀_⌣́)
var eio = require('engine.io-client');
var socket = new eio('http://localhost:3000/');
socket.on('open', function () {
setTimeout(function () {
socket.send('0');
}, 0);
});
socket.on('message', function (message) {
console.log(message);
});
engine.io-client:socket creating transport "polling" +0ms
engine.io-client:polling polling +0ms
engine.io-client:polling-xhr xhr poll +0ms
engine.io-client:polling-xhr xhr open GET: http://localhost:3000/engine.io/?EIO=3&transport=polling&t=1411395538924-0&b64=1 +3ms
engine.io-client:polling-xhr xhr data null +2ms
engine.io-client:socket setting transport polling +43ms
server listening on port 3000
engine intercepting request for path "/engine.io/" +0ms
engine handling "GET" http request "/engine.io/?EIO=3&transport=polling&t=1411395538924-0&b64=1" +2ms
engine handshaking client "qVBSS7x6d5TSMDXLAAAA" +43ms
engine:socket sending packet "open" ({"sid":"qVBSS7x6d5TSMDXLAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}) +3ms
engine:polling setting request +3ms
engine:socket flushing buffer to transport +0ms
engine:polling writing "97:0{"sid":"qVBSS7x6d5TSMDXLAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}" +3ms
engine:socket executing batch send callback +9ms
engine.io-client:polling polling got data 97:0{"sid":"qVBSS7x6d5TSMDXLAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000} +124ms
engine.io-client:socket socket receive: type "open", data "{"sid":"qVBSS7x6d5TSMDXLAAAA","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":60000}" +100ms
engine.io-client:socket socket open +35ms
engine.io-client:socket starting upgrade probes +1ms
engine.io-client:socket probing transport "websocket" +1ms
engine.io-client:socket creating transport "websocket" +0ms
engine.io-client:polling polling +57ms
engine.io-client:polling-xhr xhr poll +175ms
engine.io-client:polling-xhr xhr open GET: http://localhost:3000/engine.io/?EIO=3&transport=polling&t=1411395539105-1&b64=1&sid=qVBSS7x6d5TSMDXLAAAA +3ms
engine.io-client:polling-xhr xhr data null +1ms
engine.io-client:socket flushing 1 packets in socket +25ms
engine.io-client:polling-xhr xhr open POST: http://localhost:3000/engine.io/?EIO=3&transport=polling&t=1411395539116-2&b64=1&sid=qVBSS7x6d5TSMDXLAAAA +9ms
engine.io-client:polling-xhr xhr data 2:40 +0ms
engine upgrading existing transport +99ms
engine:socket might upgrade socket transport from "polling" to "websocket" +2ms
engine.io-client:socket probe transport "websocket" opened +69ms
engine intercepting request for path "/engine.io/" +52ms
engine handling "GET" http request "/engine.io/?EIO=3&transport=polling&t=1411395539105-1&b64=1&sid=qVBSS7x6d5TSMDXLAAAA" +1ms
engine setting new request for existing client +0ms
engine:polling setting request +1ms
engine:ws received "2probe" +4ms
engine:ws writing "3probe" +2ms
engine.io-client:socket probe transport "websocket" pong +21ms
engine.io-client:socket pausing current transport "polling" +1ms
engine.io-client:polling we are currently polling - waiting to pause +100ms
engine.io-client:polling we are currently writing - waiting to pause +0ms
engine intercepting request for path "/engine.io/" +11ms
engine handling "POST" http request "/engine.io/?EIO=3&transport=polling&t=1411395539116-2&b64=1&sid=qVBSS7x6d5TSMDXLAAAA" +0ms
engine setting new request for existing client +0ms
engine:polling received "2:40" +2ms
engine:socket packet +2ms
engine:socket sending packet "message" (0) +1ms
engine:socket flushing buffer to transport +0ms
engine:polling writing "2:40" +1ms
engine:socket sending packet "message" (0) +1ms
engine:socket sending packet "message" ("a:b:c") +0ms
engine:polling closing +1ms
engine:polling aborting ongoing data request +0ms
engine:polling transport not writable - buffering orderly close +0ms
engine.io-client:polling polling got data 2:40 +13ms
engine.io-client:socket socket receive: type "message", data "0" +14ms
engine.io-client:polling pre-pause polling complete +42ms
engine.io-client:polling ignoring poll - transport state "pausing" +0ms
engine.io-client:polling pre-pause writing complete +3ms
engine.io-client:polling paused +0ms
engine.io-client:socket changing transport and sending upgrade packet +45ms
engine.io-client:socket setting transport websocket +0ms
engine.io-client:socket clearing existing transport polling +0ms
engine:ws received "5" +51ms
engine:ws closing +1ms
engine.io-client:socket socket close with reason: "transport close" +11ms
macbook:eio luigi$
macbook:eio luigi$ node client.js
0
macbook:eio luigi$ node client.js
0
macbook:eio luigi$ node client.js
0
0
"a:b:c"
macbook:eio luigi$ node client.js
0
macbook:eio luigi$ node client.js
0
macbook:eio luigi$ node client.js
0
0
"a:b:c"
macbook:eio luigi$ node client.js
0
macbook:eio luigi$
var http = require('http');
var server = http.createServer();
var io = require('engine.io').attach(server);
io.on('connection', function (socket) {
socket.on('message', function (message) {
if (message === '0') {
socket.write('0');
socket.write('0');
socket.write('"a:b:c"');
socket.close();
}
});
});
server.listen(3000, function () {
console.log('server listening on port 3000');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment