Ionic 应用程序停止连接到 sails API 套接字连接

Ionic app stopped connecting to sails API socket connection

大约一周前,我使用 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'。与上面的单个错误相反,这会导致重复尝试建立套接字连接失败。

附加信息:我的风帆 api 在 "my_sails_api_ip:1337" 指向

的 Amazon EC2 实例上 运行

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

这是由于我升级到 Cordova 5.3.3 并影响了 Cordova 5.x.x。请参阅 Nic Raboy https://blog.nraboy.com/2015/05/whitelist-external-resources-for-use-in-ionic-framework/

的博客 post

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

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">