Socket.io-client: Conexión del cliente Socket.io a través de AWS Api Gateway

Creado en 12 jun. 2020  ·  4Comentarios  ·  Fuente: socketio/socket.io-client

Hola. Estoy intentando crear una conexión como esta: socket.io-client -> API de AWS Gateway.
Al intentar conectarse desde el cliente socket.io a una API de AWS Gateway, no se puede establecer la conexión.
Se atasca con un estado '101 protocolos de conmutación' durante unos segundos, luego lanza un evento 'desconectado' e intenta restablecer la conexión, y el proceso se repite infinitamente.
Sin embargo, esto no sucede con los WebSockets nativos o la biblioteca 'ws', todo se conecta como debería.
Creo que el problema tiene algo que ver con la forma en que los lados del cliente y del servidor de socket.io interactúan entre sí al intercambiar ciertos mensajes que pueden no generarse en el lado de AWS.
Entonces mi pregunta es: ¿es incluso posible establecer una conexión como esta sin usar proxies?
socket.io-client -> AWS Api Gateway -> socket.io(node.js) ,
o siempre tiene que ser Socket.io-client -> socket.io(node.js) ?

Se utilizó la documentación de Amazon AWS para configurar la puerta de enlace: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/
Utiliza standart $ connect, $ desconectar y $ rutas predeterminadas, pero en lugar de lambda su backend de nodejs. Sin embargo, el problema es solo del lado del cliente.

question

Comentario más útil

@Sairyss, ¿hay alguna actualización sobre esto?

@JerryLeeCS Terminé usando WebSockets nativos en el lado del cliente y $ connect, $ desconectar y $ rutas predeterminadas en el lado del backend. No encontré ninguna solución para que funcione con Socket.io. Parece que las conexiones de Socket.io desde la interfaz no son compatibles con la API de AWS Gateway, simplemente se niega a conectarse.

Todos 4 comentarios

@Sairyss, ¿hay alguna actualización sobre esto?

@Sairyss, ¿hay alguna actualización sobre esto?

@JerryLeeCS Terminé usando WebSockets nativos en el lado del cliente y $ connect, $ desconectar y $ rutas predeterminadas en el lado del backend. No encontré ninguna solución para que funcione con Socket.io. Parece que las conexiones de Socket.io desde la interfaz no son compatibles con la API de AWS Gateway, simplemente se niega a conectarse.

Parece que es posible: https://stackoverflow.com/a/56364967

@darrachequesne Si leo ese enlace / entonces ws funciona bien pero no socket io - no hay conexión en absoluto. Usando el servidor websocket predeterminado proporcionado por la puerta de enlace aws api (sin servidor).

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

aravindsrivats picture aravindsrivats  ·  4Comentarios

patrickbussmann picture patrickbussmann  ·  6Comentarios

catamphetamine picture catamphetamine  ·  3Comentarios

david-fong picture david-fong  ·  4Comentarios

ahadcove picture ahadcove  ·  7Comentarios