Node.js Socket.io创建多个连接

Node.js Socket.io创建多个连接,node.js,socket.io,Node.js,Socket.io,我正在将socket.io集成到我的项目中。我使用下面的代码,在第一个请求后创建了6个连接。这正常吗 server.listen( port, function() { console.log('Node.js server listening on port ' + port); } ); server.on( 'connection', function(socket) { console.log('s

我正在将socket.io集成到我的项目中。我使用下面的代码,在第一个请求后创建了6个连接。这正常吗

server.listen(
    port,
    function()
    {
        console.log('Node.js server listening on port ' + port);
    }
);

server.on(
    'connection',
    function(socket)
    {
        console.log('socket.io connection');
    }
);
下面是console.log输出:

Node.js server listening on port 3000
socket.io connection
socket.io connection
socket.io connection
socket.io connection
socket.io connection
socket.io connection

您得到这个结果是因为(据我所知)您的
服务器
对象是节点类的实例,并且根本没有与Socket.IO连接。在您的示例中,节点服务器的任何请求都会触发
'connection'
事件。看起来浏览器向节点服务器发送了6个请求:page、favicon.ico和4个其他请求(可能是图像、javascripts、css等)

要将socket.io集成到项目中,可以使用以下代码:

var http = require('http');
var sio = require('socket.io');

var server = http.createServer(function(req, res) {
    //you request handler here
});

var io = sio(server);

io.on('connection', function(socket) {
    console.log('socket connected');
    //now you can emit and listen messages
});

var port = 3000;
server.listen(port, function() {
    console.log('Node.js server listening on port ' + port);
});
当然,这可能会很有帮助。祝你好运:)