Node.js Socket.io创建多个连接
我正在将socket.io集成到我的项目中。我使用下面的代码,在第一个请求后创建了6个连接。这正常吗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
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);
});
当然,这可能会很有帮助。祝你好运:)