Socket.io-client: Koneksi klien Socket.io melalui AWS Api Gateway

Dibuat pada 12 Jun 2020  ·  4Komentar  ·  Sumber: socketio/socket.io-client

Halo. Saya mencoba membuat koneksi seperti ini: socket.io-client -> AWS Gateway API.
Saat mencoba menghubungkan dari klien socket.io ke AWS Gateway API, koneksi tidak dapat dibuat.
Ini macet dengan status '101 switching protocols' selama beberapa detik, kemudian melempar peristiwa 'terputus' dan mencoba membangun kembali koneksi, dan prosesnya berulang tanpa batas.
Ini tidak terjadi dengan WebSockets asli atau pustaka 'ws', semuanya terhubung seperti seharusnya.
Saya pikir masalah ada hubungannya dengan bagaimana sisi klien dan server socket.io berinteraksi satu sama lain dengan bertukar pesan tertentu yang mungkin tidak dihasilkan di sisi AWS.
Jadi pertanyaan saya adalah: apakah mungkin untuk membuat koneksi seperti ini tanpa menggunakan proxy:
socket.io-client -> AWS Api Gateway -> socket.io(node.js) ,
atau selalu harus Socket.io-client -> socket.io(node.js) ?

Dokumentasi Amazon AWS digunakan untuk mengonfigurasi gateway: https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/
Ia menggunakan standar $ connect, $ disconnect dan $ rute default, tetapi bukannya lambda backend nodejs-nya. Masalahnya hanya di sisi klien.

question

Komentar yang paling membantu

@Sairyss apakah ada pembaruan tentang ini?

@JerryLeeCS Saya akhirnya menggunakan WebSockets asli di sisi klien dan $ menghubungkan, $ putuskan dan $ rute default di sisi backend. Saya tidak menemukan solusi apa pun untuk membuatnya berfungsi dengan Socket.io. Sepertinya koneksi Socket.io dari frontend tidak didukung oleh AWS Gateway API, itu hanya menolak untuk terhubung.

Semua 4 komentar

@Sairyss apakah ada pembaruan tentang ini?

@Sairyss apakah ada pembaruan tentang ini?

@JerryLeeCS Saya akhirnya menggunakan WebSockets asli di sisi klien dan $ menghubungkan, $ putuskan dan $ rute default di sisi backend. Saya tidak menemukan solusi apa pun untuk membuatnya berfungsi dengan Socket.io. Sepertinya koneksi Socket.io dari frontend tidak didukung oleh AWS Gateway API, itu hanya menolak untuk terhubung.

Sepertinya itu mungkin: https://stackoverflow.com/a/56364967

@ darrachequesne Jika saya membaca tautan itu / jadi posting dengan benar dia menggunakan server EC2 yang menjalankan server SocketIO? Sedikit tidak jelas. Saya di perahu yang sama - ws berfungsi dengan baik tetapi tidak soket io - tidak ada koneksi sama sekali. Menggunakan server websocket default yang disediakan oleh aws api gateway (melalui tanpa server).

Apakah halaman ini membantu?
0 / 5 - 0 peringkat