Socket.io在桌面Safari和Chrome上工作,但不能移动

我使用socket.io来build立服务器和html5客户端之间的通信,一切工作正常在桌面上和Safari模拟器上的safari。 客户端无法build立连接,虽然当我试图从任何iOS甚至Android设备运行它。

使用networking检查器,我无法在我的ios7设备上输出控制台错误,但设法获得XHR下的一个项目尝试连接到服务器IP地址的资源列表,并在大约2到3分钟后失败(变为红色)

我的iOS设备是iOS 7.03(iPhone 4),我使用节点v0.10.21和socket.io v0.9.16我也使用IP地址连接,所以我不知道是否有相同的域名限制这适用

以下是客户的相关部分:

<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*); } 

服务器

 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); }); 

也许我还指出,当我启用服务器端的完整日志logging,没有连接尝试连接是由移动设备,只是桌面设备和iOS模拟器。

任何build议修复或如何寻求解决这个问题表示赞赏

原来是一个防火墙问题:|

台式电脑在VPN上,手机不是这个问题的解释

我觉得很愚蠢,但我会把它留在这里,以防止他们检查这个相同的问题