サーバーとhtml5クライアント間の通信を確立するためにsocket.ioを使用していますが、すべてがiPhoneシミュレーターのデスクトップとサファリで正常に動作しています。iOSまたはAndroidデバイスから実行しようとすると、クライアントは接続を確立できません。
Web インスペクタを使用して、ios7 デバイスでコンソール エラーを出力できませんでしたが、サーバーの IP アドレスに接続しようとして XHR の下にあるアイテムを含むリソースのリストを取得することができ、約 2 ~ 3 分後に失敗しました (赤くなります)。
私の iOS デバイスは iOS 7.03 (iPhone 4) で、node 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 シミュレーターだけであることに注意してください。
修正に関する提案や、この問題の解決策を追求する方法を教えてください。