简体   繁体   中英

Ionic app stopped connecting to sails API socket connection

I had a working socket connection using sails v0.11.0 and sails.io.js v0.11.5 until approximately one week ago. I've tried reconfiguring my setup to look something like the solution provided here , but still no connection.

ionic index.html scripts loading

<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>

Loading the scripts in this order had been working for me for about 6 months. I'm not sure why it stopped.

The error I get in chrome console is;

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

I've tried setting 'useCORSRouteToGetCookie = false' as has been suggested on other posts. This results in repeated unsuccessful attempts to make the socket connection as opposed to the single error above.

additional info: My sails api is being ran on an Amazon EC2 instance that "my_sails_api_ip:1337" points to

Edit: I just discovered that if I do ionic serve , to build to my local chrome browser, from the command line instead of ionic run android , to build to my android device, my sails socket connects. I had been successfully connecting from my android device previously.

This was due to my upgrade to Cordova 5.3.3 and effects Cordova 5.xx See this blog post by Nic Raboy https://blog.nraboy.com/2015/05/whitelist-external-resources-for-use-in-ionic-framework/

I had to tweak the meta tag a bit from Nic's to get my websocket to connect as well. Here is what that looks like;

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM