Saya akan mengembangkan situs web yang hampir memiliki obrolan waktu nyata. Saya tahu bahwa itu dapat diimplementasikan menggunakan protokol xmpp atau websocket. Saya tahu juga bahwa protokol xmpp telah dikembangkan pada tahun 1999, dan saya rasa protokol ini sudah matang saat ini. Di sisi lain, protokol websocket telah dikembangkan pada tahun 2011.
- Apa kebutuhan websocket jika xmpp bagus dalam menangani percakapan waktu nyata?
- Apa perbedaan utama antara 2 protokol tersebut?
- Dan kapan saya harus memilih salah satu dari mereka?
Jawaban:
Jawaban singkatnya adalah 'keduanya'.
XMPP adalah seperangkat protokol aplikasi untuk melakukan obrolan waktu nyata (dan banyak hal lainnya, dalam hal ini) - ia kemudian harus dipindahkan ke seluruh jaringan, jadi Anda memerlukan pengikatan transportasi. Ada tiga binding transport utama untuk XMPP -
Jadi jika Anda mengembangkan aplikasi obrolan di browser, Anda akan memilih XMPP sebagai protokol aplikasi dan Anda akan menggunakan websockets (di browser modern) atau BOSH (di browser lama) sebagai transportasi jaringan. Jika Anda menggunakan pustaka XMPP untuk Javascript seperti Stanza.io ( https://github.com/otalk/stanza.io ), ini akan mendukung keduanya dan Anda hanya akan memikirkan 'XMPP' daripada lapisan transport, selain saat penyiapan, Anda harus memberitahukannya titik akhir apa yang harus disambungkan.
(Anda tidak dapat menggunakan 'hanya websockets' untuk mengobrol - Anda dapat menggunakan websockets tanpa XMPP, tetapi yang sebenarnya berarti bahwa Anda menciptakan protokol lapisan aplikasi Anda sendiri untuk mengobrol, dan kemungkinan besar Anda akan menghemat banyak waktu dan sakit kepala dengan memanfaatkan pekerjaan yang sudah ditulis dengan properti yang berguna (keamanan, identitas, ekstensibilitas, dll.) dan untuk itu ada perpustakaan dan server yang ada dengan menggunakan XMPP sebagai gantinya.)
sumber