我的应用程序基于Socket.io进行聊天功能。
我的应用程序部署在红帽开放班次上。
我不断收到数量巨大的http://url/socket.io/?EIO=3&transport=polling&t=Lj8huKr&sid=y1OB9OBmdSd_Ma4nAAFG次请求。
他们可能也阻止加载我的网页,这会减慢我的网页速度。
我在网上看到,如果没有提到端口,就会出现此错误。但我的端口号是红帽开放式配置页面。
下面是socket.io如何在我的初始html页面初始化节点js初始服务器页面的代码
的index.html
var socket =io();
index.js(node js server)
var app = express();
var server = app.listen(process.env.NODE_PORT || 3006, process.env.NODE_IP || 'localhost', function(){
console.log('listening on port 3006');
});
var io = require('socket.io').listen(server);
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('disconnect', function() {
console.log('user disconnected');
});
socket.on('chat message', function(msg) {
console.log(msg);
io.emit('chat message', msg);
});
答案 0 :(得分:-1)
XHR long polling是socket.io客户端的默认连接类型。初始连接将以polling
开头,因此您始终会看到http://url/socket.io/?EIO=3&transport=polling
网址的至少一些请求。
然后,客户端将尝试升级到websocket连接。那些无法升级的客户将继续定期轮询以尽可能接近实时。如果您有大量客户端每2秒轮询一次,那么您将看到很多请求。