Android Socket.io在桌面safari上工作&;chrome,但不是手机
我正在使用socket.io在服务器和html5客户端之间建立通信,在桌面和iPhone模拟器上的safari上一切正常。但是,当我尝试从任何iOS甚至android设备上运行客户端时,客户端无法建立连接 使用web inspector,我无法在我的ios7设备上输出控制台错误,但成功获取了一个资源列表,其中XHR下有一个项目试图连接到服务器ip地址,但在大约2到3分钟后失败(变为红色) 我的iOS设备是iOS 7.03(iPhone4),我使用的是node v0.10.21和socket.io v0.9.16 我还使用ip地址进行连接,因此我不确定是否存在相同的域限制 以下是客户提供的相关部分:Android Socket.io在桌面safari上工作&;chrome,但不是手机,android,ios,iphone,node.js,socket.io,Android,Ios,Iphone,Node.js,Socket.io,我正在使用socket.io在服务器和html5客户端之间建立通信,在桌面和iPhone模拟器上的safari上一切正常。但是,当我尝试从任何iOS甚至android设备上运行客户端时,客户端无法建立连接 使用web inspector,我无法在我的ios7设备上输出控制台错误,但成功获取了一个资源列表,其中XHR下有一个项目试图连接到服务器ip地址,但在大约2到3分钟后失败(变为红色) 我的iOS设备是iOS 7.03(iPhone4),我使用的是node v0.10.21和socket.io
<script src="http://xx.xx.xx.xx:port/socket.io/socket.io.js"></script>
var socket = io.connect("http://xx.xx.xx.xx:port");
socket.on('connect', function() {
console.log("connected");
}
socket.on('disconnect', function() {
console.log("disconencted");
}
socket.on('message', function(data) {
console.log("rcved:"+ data*emphasized text*);
}
我还要指出,当我在服务器端启用完整日志记录时,不会尝试连接,因为连接是通过移动设备进行的,只有桌面设备和iOS模拟器
任何关于修复或如何寻求此问题解决方案的建议都是值得赞赏的结果证明是防火墙问题:| 桌面电脑在VPN上,移动电话不在VPN上 这就解释了这个问题
我觉得自己很笨,但我会把它留在这里,以防它能帮助别人检查同样的问题你做了什么?为您的手机设置VPN?如果这解决了您的问题,您可以将您的回答标记为正确的,以便查找此问题的人可以看到问题已解决。
var io = require('socket.io').listen(12321).set('log level', 0);
var ConnectionHandler = require('./handler.js');
io.sockets.on('connection', function (socket) {
new ConnectionHandler(socket);
});