Socket.io-client: Socket.io-Clientverbindung über AWS Api Gateway

Erstellt am 12. Juni 2020  ·  4Kommentare  ·  Quelle: socketio/socket.io-client

Hallo. Ich versuche, eine Verbindung wie folgt herzustellen: socket.io-client -> AWS Gateway API.
Beim Versuch, eine Verbindung vom Socket.io-Client zu einer AWS Gateway-API herzustellen, kann keine Verbindung hergestellt werden.
Es bleibt einige Sekunden lang mit dem Status "101 Schaltprotokolle" hängen, löst dann das Ereignis "Nicht verbunden" aus und versucht, die Verbindung wiederherzustellen, und der Vorgang wird unendlich wiederholt.
Dies ist jedoch bei nativen WebSockets oder der 'ws'-Bibliothek nicht der Fall. Alles wird wie gewünscht verbunden.
Ich denke, das Problem hat etwas damit zu tun, wie die Client- und Serverseiten von socket.io miteinander interagieren, indem bestimmte Nachrichten ausgetauscht werden, die möglicherweise nicht auf der AWS-Seite generiert werden.
Meine Frage lautet also: Ist es überhaupt möglich, eine solche Verbindung ohne Verwendung von Proxys herzustellen?
socket.io-client -> AWS Api Gateway -> socket.io(node.js) ,
oder muss es immer Socket.io-client -> socket.io(node.js) ?

Die Amazon AWS-Dokumentation wurde zum Konfigurieren des Gateways verwendet: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/
Es verwendet Standard-Routen $ connect, $ Disconnect und $ default, aber anstelle von Lambda wird das Node-Backend verwendet. Das Problem liegt jedoch nur auf der Clientseite.

question

Hilfreichster Kommentar

@Sairyss gibt es ein Update dazu?

@JerryLeeCS Am Ende connect- , $ separect- und $ default-Routen auf einer Backend-Seite verwendet. Ich habe keine Lösung gefunden, damit es mit Socket.io funktioniert. Scheint, als würden Socket.io-Verbindungen vom Frontend nicht von der AWS Gateway-API unterstützt, sondern lehnen lediglich die Verbindung ab.

Alle 4 Kommentare

@Sairyss gibt es ein Update dazu?

@Sairyss gibt es ein Update dazu?

@JerryLeeCS Am Ende connect- , $ separect- und $ default-Routen auf einer Backend-Seite verwendet. Ich habe keine Lösung gefunden, damit es mit Socket.io funktioniert. Scheint, als würden Socket.io-Verbindungen vom Frontend nicht von der AWS Gateway-API unterstützt, sondern lehnen lediglich die Verbindung ab.

@darrachequesne Wenn ich diesen Link / Post richtig lese, verwendet er einen EC2-Server, auf dem der SocketIO-Server ausgeführt wird? Es ist ein wenig unklar. Ich bin im selben Boot - ws funktioniert gut, aber keine Steckdose io - überhaupt keine Verbindung. Verwenden des Standard-Websocket-Servers, der vom aws-API-Gateway bereitgestellt wird (über serverlos).

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen