我正在将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发布于 2014-07-06 16:21:50
得到这个结果是因为(据我所知)您的server对象是节点的http.Server类的一个实例,并且根本没有与Socket.IO连接。在您的示例中,对节点服务器的任何请求都会触发'connection'事件。看起来浏览器向节点服务器发送了6个请求:页面、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);
});当然,正式文件可能非常有用。祝你好运:)
https://stackoverflow.com/questions/24596739
复制相似问题