2013-11-10 78 views
2

我使用socket.io建立服务器和html5客户端之间的通信,一切工作正常在桌面和Safari模拟器上的Safari浏览器。客户端无法建立连接,虽然我试图从任何iOS或甚至Android设备运行它。Socket.io工作在桌面Safari浏览器和铬,但不是手机

使用网络检查器,我无法在我的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); 
}); 

也许我还指出,当我能够在服务器端完整日志记录,无连接的尝试对连接从移动设备,只需在桌面设备和iOS模拟器制造。

上有修补程序或如何追求一个解决这个问题的任何建议表示赞赏

回答

1

可谓是防火墙的问题:|

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

我感到愚蠢,但我会在这里的情况下离开它,它可以帮助别人检查这同一个问题

+0

做什么你做 ?为你的手机设置一个VPN? – httpete

+0

如果这解决了您的问题,您可以将您的答案标记为正确的答案,以便问题看起来已经解决,以供寻找此问题的人使用。 –

相关问题