Seperti yang dijelaskan oleh postingan ini, ketika klien pertama kali terhubung dengan server, "soket/proses utama" dibuat dan menampung penetapannya. Kemudian, ketika klien bergabung dengan saluran/topik tertentu, setiap soket/proses saluran menyalin tugas tersebut dan dapat menambahkannya sesuai keinginan.
Saya sekarang memiliki kasus penggunaan di mana, setelah pengguna bergabung dengan saluran masing-masing (i.e. user:#{user_id})
, saya mengambil beberapa informasi tentang pengguna dari DB, yang kemudian akan tersedia secara global untuk semua saluran yang kemudian diikuti pengguna ini. Namun saya belum dapat menemukan cara untuk memasukkan informasi tersebut ke socket.assigns
sehingga dapat tersedia di mana saja. Jika saya mencoba menetapkannya, mereka hanya akan tersedia di socket.assigns
saluran user:#{user_id}
khusus ini.
Apakah ada cara untuk melakukannya? Haruskah saya mencoba mengambil semua informasi tersebut sekaligus saat pengguna pertama kali terhubung, alih-alih saat mereka bergabung dengan saluran pengguna individual?