我有一个非常简单的例子。
服务器
var WebSocketServer = require('socket.io');
var wsServer = WebSocketServer.listen(8080);
wsServer.on('connection', function (ws) {
ws.on('data', function (data) {
console.log(data);
});
});
客户端
var WebSocketServer = require('socket.io-client');
var wsClient = WebSocketServer.connect(server, {'force new connection': true});
wsClient.on('connect', function () {
wsClient.emit('data', {message: true});
})
然后我实例化并发调用:
var ClientSocket = require('./path-to-client');
var numInstances = 100;
for (var i = 0; i < numInstances; i++) {
(function (client_id) {
var WavegetInstant = new ClientSocket();
})("client" + i);
}
当numInstances
小于80时,此工作正常。但是当它超过80时,则在发送/接收消息之前有大约2min
的延迟。如果我在console.log
中wsServer.on('connection')
,那么我确实会获得一个连接和一个唯一的网络套接字ID,只有on('data') OR emit('data')
被延迟。
感谢帮助