Socket.io,无法在iOS 10上连接

时间:2016-12-15 22:46:27

标签: sockets ionic-framework websocket socket.io ios10

我在Ionic 2应用程序中使用socket.io-client。一切都像Android和iOS上的魅力一样工作< = 9。 在iOS 10上,我无法建立连接。我做错了什么或者我错过了什么?

“socket.io-client”:“^ 1.7.2”

this.socket = io.connect(Resources.Constants.API.SERVER_DOMAIN, {
        'transports': ['websocket', 'xhr-polling'],
        'query': 'token=' + myToken
    });

    alert('test:' + this.socket.id); // undefined
   alert('test:' + this.socket.connected); // false

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

事实证明,最后一个Safari对CSP比其他人更挑剔。

在我的Content-Security-Policy中将ws:// * wss:// *添加到我的connect-src解决了我的问题。

 <meta http-equiv="Content-Security-Policy" content="default-src data: gap://* file://* https://ssl.gstatic.com *; img-src 'self' * data:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-eval' 'unsafe-inline' *; connect-src 'self' * ws://* wss://*;">