基于socket.io的并发连接在哪里

时间:2018-08-27 17:21:59

标签: node.js express concurrency socket.io

我很好奇知道socket.io并发连接的计算来源。

我正在构建一个socket.io实时服务器,每个客户都会动态拥有自己的服务器 服务器连接使用命名空间分隔每个用户连接,如下例所示。

但这还不是动态的,只是一个示例。

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/*', function(req, res){
  res.sendFile(__dirname + '/index.html');
});

var nsp = io.of('/customer1');

http.listen(3000, function(){
  console.log('listening on *:3000');
});

nsp.on('connection', function(socket){
  console.log('connected');

  socket.on('create', function(room_name) {
    console.log('Someone is in the room: '+room_name);
    socket.join(room_name);
    socket.room = room_name;
  });
    socket.on('chat message', function(msg){
      nsp.in(socket.room).emit('chat message', 'Message: '+msg);
  });
});



var nsp2 = io.of('/customer2');

nsp2.on('connection', function(socket){
  console.log('connected');

  socket.on('create', function(room_name) {
    console.log('Someone is in the room: '+room_name);
    socket.join(room_name);
    socket.room = room_name;
  });
    socket.on('chat message', function(msg){
      nsp2.in(socket.room).emit('chat message', 'Message: '+msg);
  });
});

那么,在上面的示例中,并发连接数从何而来?

还!希望客户1的并发连接最大限制不会影响客户2?

我想将每个客户socket.io托管在他们自己的域或子域中,但是我无法在同一ip地址端口上运行单独的服务器,或者没有理想的选择。因为主要的高级域与托管在其下的所有域和子域共享相同的IP地址。

0 个答案:

没有答案