0

直到大约一周前,我才使用sails v0.11.0 和sails.io.js v0.11.5 进行了有效的套接字连接。我尝试重新配置我的设置,使其看起来类似于此处提供的解决方案,但仍然没有连接。

ionic index.html 脚本加载

<head> 
  <script src="lib/ionic/js/ionic.bundle.js"></script>
  <script src="cordova.js"></script>
  <script src="app.js"></script>
  <script src="lib/socket.io-client/socket.io.js"></script>
  <script src="lib/sails.io.js/sails.io.js"></script>
  <script type="text/javascript">io.sails.url = 'http://my_sails_api_ip:1337';</script>
  <script src="lib/angularSails/dist/ngsails.io.js"></script>
</head>

按此顺序加载脚本已经为我工作了大约 6 个月。我不知道为什么它停止了。

我在 chrome 控制台中遇到的错误是;

Failed to load resource: the server responded with a status of 404 (Not Found) http://my_sails_api_ip:1337/__getcookie

我已经尝试按照其他帖子中的建议设置“useCORSRouteToGetCookie = false”。这导致重复尝试建立套接字连接不成功,而不是上面的单个错误。

附加信息:我的sails api 正在“my_sails_api_ip:1337”指向的 Amazon EC2 实例上运行

编辑:我刚刚发现,如果我这样做ionic serve,构建到我的本地 chrome 浏览器,从命令行而不是ionic run android构建到我的 android 设备,我的风帆套接字连接。我之前已经从我的安卓设备成功连接。

4

1 回答 1

0

这是由于我升级到 Cordova 5.3.3 并影响了 Cordova 5.xx 请参阅 Nic Raboy 的这篇博文https://blog.nraboy.com/2015/05/whitelist-external-resources-for-use-in-离子框架/

我不得不稍微调整一下 Nic 的元标记,以使我的 websocket 也能够连接。这就是它的样子;

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
于 2015-10-07T14:02:27.337 回答