Socket.io-client: Connexion client Socket.io via AWS Api Gateway

Créé le 12 juin 2020  ·  4Commentaires  ·  Source: socketio/socket.io-client

Salut. J'essaie de créer une connexion comme celle-ci: socket.io-client -> API AWS Gateway.
Lors de la tentative de connexion du client socket.io à une API AWS Gateway, la connexion ne peut pas être établie.
Il reste avec un statut «101 protocoles de commutation» pendant quelques secondes, puis lance un événement «déconnecté» et tente de rétablir la connexion, et le processus se répète à l'infini.
Cela ne se produit pas avec les WebSockets natifs ou la bibliothèque 'ws', tout se connecte comme il se doit.
Je pense que le problème a quelque chose à voir avec la façon dont les côtés client et serveur socket.io interagissent les uns avec les autres en échangeant certains messages qui peuvent ne pas être générés du côté AWS.
Ma question est donc la suivante: est-ce même possible d'établir une connexion comme celle-ci sans utiliser de proxy:
socket.io-client -> AWS Api Gateway -> socket.io(node.js) ,
ou il doit toujours être Socket.io-client -> socket.io(node.js) ?

La documentation Amazon AWS a été utilisée pour configurer la passerelle: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/
Il utilise les routes standart $ connect, $ disconnect et $ default, mais au lieu de lambda, son backend nodejs. Le problème n'est cependant que du côté client.

question

Commentaire le plus utile

@Sairyss y a-t-il une mise à jour à ce sujet?

@JerryLeeCS J'ai fini par utiliser des WebSockets natifs côté client et des routes $ connect, $ disconnect et $ default côté backend. Je n'ai trouvé aucune solution pour le faire fonctionner avec Socket.io. On dirait que les connexions Socket.io depuis le frontend ne sont pas prises en charge par l'API AWS Gateway, il refuse simplement de se connecter.

Tous les 4 commentaires

@Sairyss y a-t-il une mise à jour à ce sujet?

@Sairyss y a-t-il une mise à jour à ce sujet?

@JerryLeeCS J'ai fini par utiliser des WebSockets natifs côté client et des routes $ connect, $ disconnect et $ default côté backend. Je n'ai trouvé aucune solution pour le faire fonctionner avec Socket.io. On dirait que les connexions Socket.io depuis le frontend ne sont pas prises en charge par l'API AWS Gateway, il refuse simplement de se connecter.

Il semble que ce soit possible: https://stackoverflow.com/a/56364967

@darrachequesne Si je lis correctement ce lien / si ws fonctionne bien mais pas socket io - pas de connexion du tout. Utilisation du serveur websocket par défaut fourni par la passerelle aws api (via sans serveur).

Cette page vous a été utile?
0 / 5 - 0 notes