node.js 表达 4.11.2 & socket.io 收到错误?EIO=3&transport=polling&t=

node.js express 4.11.2 & socket.io getting error ?EIO=3&transport=polling&t=

这是我的设置 这适用于 express 版本 4.8.0 和 socket.io 1.0.6 并表示 4.8.0 和套接字版本 1.3.3

所以我假设他们已经改变了一些东西。

express当前版本是4.11.2 socket.io 的当前版本是 1.3.3

现在我在客户端收到错误。

GET http://localhost/socket.io/?EIO=3&transport=polling&t=1423775884240-0  net::ERR_CONNECTION_REFUSED

我正在使用 socket.io 命名空间

var express = require('express'),
website = express(),
http = require('http').Server(website),
io = require('socket.io')(http),
routes = require('./routes'),
path = require('path'),
logger = require('express-logger'),
json = require('express-json'),
bodyParser = require('body-parser'),
methodOverride = require('express-method-override');


website.set('port', process.env.PORT || 3000);
website.set('views', path.join(__dirname, 'views'));
website.set('view engine', 'ejs');
website.set('socket', io);
website.set('socketId', '1234');
website.use(logger({path: './logs/logfile.txt'}));
website.use(json());
website.use(bodyParser.urlencoded({ extended: false }));
website.use(methodOverride());
website.use(express.static(path.join(__dirname, 'public')));


// Setup routing
require('./routing')(website);

http.listen(website.get('port'), function(){
console.log('Website ready, listening on port: ' + website.get('port'));
});

module.exports = website;

这在我的连接索引页上

var socketId = website.get('socketId');
var io = website.get('socket').of('/' + socketId);

谁能告诉我我哪里出错了。 干杯

这是 socket.io 的错误,使用命名空间将忽略端口,或默认为端口 80。

更多信息在这里:

https://github.com/Automattic/socket.io-client/pull/803