我在Node.js v4.1.1上并使用socket.io
当客户端连接到服务器套接字并在那时开始交换软件包时,第一个数据包在服务器上丢失。
你知道这背后的原因是什么?请注意,我们一次有大约900个连接。var http = module.exports = require('http');
var app = module.exports = express();
var httpsOptions = {
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('certificate.crt')
};
var Server = https.createServer(httpsOptions, app);
var io = module.exports = require('socket.io').listen(Server);
io.set("transports", ["xhr-polling", "web socket", "polling", "htmlfile"]);
io.sockets.on("connection", function(socket)
{
client.on('msg', function(request)
{
console.log("event get --> " + request);
});
client.on('error', function(exc)
{
console.log("ignoring exception: " + exc);
});
client.on('ping', function(request)
{
client.emit('pong', request);
client.removeListener('ping', function() {});
});
client.on('disconnect', function(reason)
{
console.log("socket disconnect " + reason);
});
});
答案 0 :(得分:0)
在这种情况下,实际上错误不在socket或node.js中。 mongodb中的错误,mongodb占用了很多负载所以所有事件都迟到了。注册过程中新的连接也需要加载。我们只需增加mongodb的配置,一切运行良好。