2016-04-25 14 views
4

のNode.jsとの最初のパケットを見逃す可能性その時点で最初のパケットがサーバー上で見逃されたときにパッケージを交換します。は、socket.ioに接続しているクライアントは、私がNode.jsのをV4.1.1の午前と、クライアントがサーバーソケットとスタートに接続socket.io</p> <p>で作業

これの背後にある理由は何ですか?私たちは一度に約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

このパッケージを送信するためにrabbitmqを使用していますか? –

+0

はい私はrabbitmqとredisを使用しています –

+1

あなたがサーバーに使用しているキューと同じ名前の問題があるかもしれません。つまり、その時点でサーバーを作成するときにキューの名前を付けてください。 –

答えて

0

この場合、socketまたはnode.jsに実際にはエラーがありません。 mongodbでエラーが発生すると、mongodbは非常に負荷がかかるため、すべてのイベントが遅れます。また、新しい接続はサインアップprocess.weで負荷を取るだけで、mongodbの設定を上げて、うまく動作します。

関連する問題