我的socket.io / node.js代码可以在wifi上正常工作,但不能在3G网络上工作。在波兰和泰国这两个不同国家/地区的手机上进行了测试,结果导致尝试加载nodejs页面时客户端连接超时。
我尝试通过SSL和http连接到nodejs,并且总是使连接超时。页面没有事件开始。
这是我当前用于通过socket.io连接到node.js的代码,它在wifi上运行良好。
var express = require('express');
var app = express();
var https = require('https');
var fs = require('fs');
const httpsOptions = {
cert: fs.readFileSync('/home/ssl/certs/cfa12_02849_1597103999_c789e2a4025b2f7642c5ebfeb653d0b8.crt'),
key: fs.readFileSync('/home/ssl/keys/cfa12_02849_4ef610898e08716f16c177e1c4c7dc43.key'),
requestCert: true,
rejectUnauthorized: false
};
var server = https.createServer(httpsOptions, app).listen(3000);
var io = require('socket.io')(server, {
pingTimeout: 500000
});
//server.listen(3000);
io.set('transports', ['websocket',
'flashsocket',
'htmlfile',
'xhr-polling',
'jsonp-polling',
'polling']);
我在某处读到socket.io可能与3G / LTE网络有关,但这是几年前的事了。如今有什么办法吗?使用socket.io放弃所有3G / LTE连接是非常不便的。