我的应用程序基于Socket.io来实现聊天功能 .
我的应用程序部署在red hat open shift上 .
我一直在收到数量巨大的请求 .
他们可能也阻止加载我的网页,这会减慢我的网页速度 .
我在互联网上读到,如果没有提到端口,则会出现此错误 . 但我的端口号是红帽开放配置页面 .
下面是socket.io如何在我的初始html页面初始化节点js初始服务器页面的代码
的index.html
var socket =io();
index.js(节点js服务器)
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);
});
1 回答
XHR长轮询是socket.io客户端的默认连接类型 . 初始连接将以
polling
开头,因此您将始终至少看到对http://url/socket.io/?EIO=3&transport=polling
url的一些请求 .然后,客户端将尝试升级到websocket连接 . 那些无法升级的客户将继续定期轮询以尽可能接近实时 . 如果您有大量客户端每2秒轮询一次,那么您将看到很多请求 .