Socket.io创建多个连接

时间:2014-07-06 14:14:21

标签: 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('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

1 个答案:

答案 0 :(得分:2)

你得到这个结果因为(据我所知)你的server对象是节点的http.Server类的一个实例,并且根本没有与Socket.IO连接。在您的示例中,{em>任何请求您的节点服务器上的'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);
});

当然,official documentation可能会非常有用。祝你好运:)