Saya sangat menyarankan untuk menginvestasikan waktu di Comet, tetapi saya tidak tahu implementasi atau pustaka aktual yang dapat Anda gunakan.
Untuk semacam "panel kontrol pusat panggilan" dari aplikasi web yang melibatkan agen pembaruan dan status antrian panggilan untuk Pusat Panggilan langsung, kami mengembangkan solusi internal yang berfungsi, tetapi jauh dari perpustakaan yang dapat Anda gunakan.
Apa yang kami lakukan adalah menerapkan layanan kecil di server yang terhubung ke sistem telepon, menunggu acara baru dan menyimpan foto situasi tersebut. Layanan ini menyediakan server web kecil.
Klien web kami terhubung melalui HTTP ke server web ini dan meminta foto terakhir (dikodekan dalam XML), menampilkannya dan kemudian pergi lagi, meminta foto baru. Server web saat ini dapat:
- Kembalikan foto baru, jika ada
- Blokir klien selama beberapa detik (30 dalam pengaturan kami) menunggu beberapa peristiwa terjadi dan ubah foto. Jika tidak ada peristiwa yang dibuat pada saat itu, ia mengembalikan foto yang sama, hanya untuk memungkinkan koneksi tetap hidup dan bukan waktu tunggu klien.
Dengan cara ini, ketika klien melakukan polling, ia mendapat respons dalam maks 0 hingga 30 detik. Jika acara baru sudah dibuat, acara itu akan segera mendapatkannya), jika tidak, acara akan diblokir hingga acara baru dibuat.
Ini pada dasarnya adalah polling, tetapi polling agak cerdas untuk tidak membuat server web terlalu panas. Jika Comet bukan jawaban Anda, saya yakin ini dapat diimplementasikan menggunakan ide yang sama tetapi menggunakan AJAX atau pengkodean yang lebih ekstensif di JSON untuk hasil yang lebih baik. Ini dirancang sebelum era AJAX, jadi ada banyak ruang untuk perbaikan.
Jika seseorang dapat memberikan implementasi ringan yang sebenarnya dari ini, bagus!