4
我對Node.js的V4.1.1與socket.io在重負載下,客戶端連接到一個socket.io可能錯過的node.js
當客戶端連接到服務器套接字並開始工作的第一個包當時在服務器上錯過了第一個數據包。
你們有什麼想法背後的原因是什麼?請注意,我們一次有大約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);
});
});
是你使用rabbitmq發送這個軟件包..? –
是的,我使用rabbitmq和redis –
然後可能會有你用於服務器的隊列相同名稱的問題,這意味着當你創建服務器的時候你給一些隊列的名字,先檢查一下。 –