En la documentación establece que io.origins()
toma una matriz de cadenas/orígenes (consulte el ejemplo https://socket.io/docs/server-api/#server-origins-value), cuando en realidad lo hace no. Solo funciona cuando se proporciona una cadena en lugar de una matriz.
Ajuste
io.origins(['http://localhost:3000'])
y luego conectarse desde localhost:3000
no funciona.
Solo funciona cuando se configura io.origins('http://localhost:3000')
Creo que el protocolo no debería incluirse:
io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');
Funciona con el protocolo cuando se proporciona como una cadena, no cuando se proporciona en una matriz 😄
Pero gracias por la aclaración!
Creo que está implementado con indexOf
, de ahí el comportamiento funky.
Añadiré una nota en la documentación.
Acabo de encontrarme con el mismo problema: una matriz con el protocolo en la URL, por ejemplo, io.origins([https://subdomain.domain.ee:*])
no funciona, mientras que io.origins([subdomain.domain.ee:*])
funciona.
Mientras que el ejemplo en la documentación incluye https://
en el ejemplo de matriz: io.origins(['https://foo.example.com:443']);
.
En cuanto a este compromiso , parece que los documentos se cambiaron para incluir ese ejemplo, pero ¿todavía me pasó a mí?
Estaba usando [https://subdomain.domain.ee:*]
como la URL, que no funcionó, ni con http://
(aunque en mi caso solo debería ser accesible a través https://
todos modos). Una vez que eliminé el protocolo, comenzó a funcionar.
Pensé en informar esto aquí por si acaso. ¿Me estaba perdiendo algo posiblemente?
Comentario más útil
Creo que el protocolo no debería incluirse: