node.js sockets socket.io sails.js sails.io.js

node.js - Sails socket io se conecta a una url diferente a la que pasó



sockets socket.io (1)

<script src="/js/dependencies/sails.io.js"></script> <script type="text/javascript"> io.sails.url = ''https://myapp.com''; // or where you want </script>

Los documentos se pueden encontrar aquí: http://sailsjs.com/documentation/reference/web-sockets/socket-client#?programmatic-configuration-using-iosails

En producción, cuando trato de conectarme a mi cliente de socket en Sails en '' https://something.com/api/ '' desde la URL del cliente '' https://something.com/ '' obtengo un 404

https://something.com/socket.io/?__sails_io_sdk_version=0.13…owser&__sails_io_sdk_language=javascript&EIO=3&transport=polling&t=LFGJG5g 404 (Not Found)

Cuando establezco una conexión de socket en velas en mi máquina local, funciona.

Mi configuración local.

CLIENTE HOST

http://localhost:8080/

API HOST

http://localhost:1337/

HTML

<script src="sails.io.js" autoConnect="false"></script>

JS

connect() { this.socket = io.sails.connect(''http://localhost:1337'');// Works Fine }

Mi configuración de producción

CLIENTE HOST

https://something.com/

API HOST

https://something.com/api/

JS

connect() { this.socket = io.sails.connect(''https://something.com/api/'');// Does not work }

Me aseguré de que autoConnect se configurara definitivamente como falso y de que la única conexión se realizara a través de la función connect (). Parece que no importa qué cadena pase a la función connect () (solo en producción), asume la url del cliente ( https://something.com/ ) y descarta el sufijo / api / de la url de producción ( https: //something.com/api/ ).