websocket tidak pernah ditutup, mentransfer banyak data

Saya telah membuat aplikasi web. Saya mengirim dan menerima banyak data menggunakan Websockets dan setiap kali saya harus membuka dan menutup koneksi Websocket.

Mengapa tidak menghindari buka/tutup yang konstan? Bagaimana ketika halaman dimuat, Websockets dibuat dan dibuka dan tidak pernah ditutup, jadi saya menggunakan Websockets yang sama untuk mengirim dan menerima teks, array, link, permintaan pencarian, dll. Saya bahkan berpikir untuk mentransfer file seperti gambar dan/atau video melalui Websockets.

Bisakah saya melakukan ini, atau haruskah saya menutup koneksi WS setelah selesai? Apakah WS yang tidak pernah ditutup akan menimbulkan masalah keamanan? Ditambah lagi, saya tidak tahu apakah WS akan benar-benar ditutup ketika pengguna meninggalkan halaman. Jika tidak, saya rasa itu adalah masalah keamanan lainnya.

Bagaimana cara mentransfer file melalui WS? Saya tidak dapat membayangkan bagaimana melakukan ini

Terima kasih sebelumnya


person slevin    schedule 21.08.2015    source sumber


Jawaban (1)


Soket web dimaksudkan untuk tetap terbuka seumur hidup halaman web atau SPA... itu adalah perilaku normal yang diharapkan.

Server mungkin menutup soket web kapan saja dan ini juga merupakan perilaku normal - cukup buka kembali soket web.

Biasanya, server hanya akan menutup soket web jika soket web tidak digunakan selama beberapa waktu (yaitu Heroku menetapkan batas waktu tunggu menjadi 50 detik) atau untuk pertimbangan lalu lintas dan konkurensi. Jika tidak, koneksi websocket bisa tetap terbuka sepanjang waktu.

Misalnya, kerangka Plezi (Ruby) mengirimkan bingkai pong secara otomatis sesekali, sehingga koneksi akan tetap terbuka tanpa batas waktu kecuali browser menutup soketnya (biasanya dengan keluar dari halaman).

person Myst    schedule 21.08.2015