我将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
答案 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可能会非常有用。祝你好运:)