-
Notifications
You must be signed in to change notification settings - Fork 565
Closed
Description
Hi.
I currently evaluating engine.io for a new project and found the following issue:
I was testing the connection behaviour with the engine.io server behind nginx to see if engine.io sticks to polling if no websockets are available.
When trying to connect to the engine.io server, the error "polling request overlap" is logged:
engine:core intercepting request for path "/engine.io/" +70ms
engine handling "GET" http request "/engine.io/?transport=polling&t=1365170008372&sid=VzWnLUKmQUxgX1HPAAAA" +67ms
engine setting new request for existing client +1ms
engine:polling setting request +66ms
engine:socket flushing buffer to transport +63ms
engine:polling writing "38:4{"c":1,"t":"13:53:29.448","d":"test"}" +0ms
engine:socket executing batch send callback +1ms
engine:core intercepting request for path "/engine.io/" +56ms
engine handling "GET" http request "/engine.io/?transport=websocket&sid=VzWnLUKmQUxgX1HPAAAA&t=1365170008371" +56ms
engine setting new request for existing client +0ms
engine:polling setting request +56ms
engine:core intercepting request for path "/engine.io/" +5ms
engine handling "GET" http request "/engine.io/?transport=polling&t=1365170008436&sid=VzWnLUKmQUxgX1HPAAAA" +4ms
engine setting new request for existing client +0ms
engine:polling request overlap +4ms
engine:socket transport error +59ms
Server code:
var EngineIO = require("engine.io"),
Express = require("express");
var httpPort = 18123;
var engineIOOptions = {
path: "/engine.io",
policyFile: true,
destroyUpgrade: true,
destroyUpgradeTimeout: 1000,
pingTimeout: 60000,
pingInterval: 25000,
transports: [ "polling", "websocket" ], // polling, websocket, flashsocket
allowUpgrades: true,
cookie: "eio"
};
var httpServer = Express.createServer();
var engineIO = EngineIO.attach(httpServer, engineIOOptions);
httpServer.listen(httpPort);
engineIO.on("connection", function(socket) {
socket.on("message", function(msg) { });
socket.on("close", function() { });
});
Client code:
var socket = eio("ws://<serverurl>:80/", { timestampRequests: true });
socket.onopen = function() {
socket.onmessage = function(msg) { };
socket.onclose = function() { };
};
Nginx location directive:
location /engine.io/ {
proxy_pass http://localhost:18123;
}
Chrome shows the following requests when the error occurs:
About 20 seconds later, chrome shows the following requests:
I was testing engine.io 0.5.0 and nginx 1.3.14.
Metadata
Metadata
Assignees
Labels
No labels