Apa itu Long Polling?
Variasi dari teknik polling tradisional dan memungkinkan emulasi dorongan informasi dari server ke klien. Dengan polling yang lama, klien meminta informasi dari server dengan cara yang mirip dengan polling biasa.
- Jika server tidak memiliki informasi yang tersedia untuk klien, alih-alih mengirimkan respons kosong, server menahan permintaan dan menunggu beberapa informasi tersedia.
Setelah informasi tersedia (atau setelah batas waktu yang sesuai), respons lengkap dikirim ke klien. Klien biasanya kemudian akan segera meminta kembali informasi dari server, sehingga server akan hampir selalu memiliki permintaan menunggu yang tersedia yang dapat digunakan untuk mengirimkan data sebagai respons terhadap suatu peristiwa.
Dalam konteks web / AJAX, polling panjang juga dikenal sebagai pemrograman Comet.
Bagaimana dengan Websockets?
WebSockets menyediakan koneksi persisten antara klien dan server yang dapat digunakan kedua belah pihak untuk mulai mengirim data kapan saja.
- Klien membuat koneksi WebSocket melalui proses yang dikenal sebagai handshake WebSocket. Proses ini dimulai dengan klien mengirimkan permintaan HTTP biasa ke server.
- Header Upgrade disertakan dalam permintaan ini yang menginformasikan server bahwa klien ingin membuat koneksi WebSocket.
Kesimpulan :
Jika ada kebutuhan komunikasi waktu nyata, Anda dapat memilih websockets dengan sangat baik.
Tapi di Long Polling:
Koneksi dibuat terbuka antara klien web dan server web sehingga ketika server memiliki informasi baru, ia dapat mendorongnya ke klien. Permintaan itu kemudian diselesaikan. Permintaan baru kemudian dibuat antara klien dan server dan kemudian menunggu pembaruan lain dari server. Koneksi TCP yang sama umumnya terbuka terus-menerus melalui beberapa permintaan karena keep-alives HTTP / 1.1.
Referensi dan pertimbangan lain:
Soket vs polling panjang PubNub - masa pakai baterai ponsel
Apa itu Long-Polling, Websockets, Server-Sent Events (SSE) dan Comet?
polling panjang di objektif-C
Pengenalan Websocket
Websocket Vs Long Polling
Menggunakan Websockets di Apps
Aplikasi Websocket
PushTechnology-Long Polling