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/ ).