WebSockets - Komunikasi Duplex
Sebelum menyelam ke kebutuhan soket Web, perlu untuk melihat teknik yang ada, yang digunakan untuk duplex communicationantara server dan klien. Mereka adalah sebagai berikut -
- Polling
- Polling Panjang
- Streaming
- Postback dan AJAX
- HTML5
Jajak pendapat
Polling dapat didefinisikan sebagai sebuah metode, yang melakukan permintaan berkala terlepas dari data yang ada dalam transmisi. Permintaan berkala dikirim secara sinkron. Klien membuat permintaan berkala dalam interval waktu tertentu ke Server. Respons server termasuk data yang tersedia atau beberapa pesan peringatan di dalamnya.
Polling Panjang
Polling panjang, seperti namanya, mencakup teknik serupa seperti polling. Klien dan server menjaga koneksi tetap aktif hingga beberapa data diambil atau terjadi waktu tunggu. Jika koneksi terputus karena beberapa alasan, klien dapat memulai kembali dan melakukan permintaan berurutan.
Polling yang lama tidak lain adalah peningkatan kinerja dari proses polling, tetapi permintaan yang konstan dapat memperlambat proses.
Streaming
Ini dianggap sebagai opsi terbaik untuk transmisi data waktu nyata. Server menjaga koneksi tetap terbuka dan aktif dengan klien sampai dan kecuali data yang diperlukan sedang diambil. Dalam hal ini, koneksi dikatakan terbuka tanpa batas. Streaming menyertakan header HTTP yang meningkatkan ukuran file, meningkatkan penundaan. Ini bisa dianggap sebagai kelemahan utama.
AJAX
AJAX didasarkan pada Javascript XmlHttpRequestObyek. Ini adalah singkatan dari Asynchronous Javascript dan XML.XmlHttpRequestObjek memungkinkan eksekusi Javascript tanpa memuat ulang halaman web lengkap. AJAX hanya mengirim dan menerima sebagian dari halaman web.
Potongan kode panggilan AJAX dengan XmlHttpRequest Objeknya adalah sebagai berikut -
var xhttp;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
Kelemahan utama dari AJAX dibandingkan dengan Web Sockets adalah -
- Mereka mengirim header HTTP, yang membuat ukuran total lebih besar.
- Komunikasi setengah dupleks.
- Server web mengkonsumsi lebih banyak sumber daya.
HTML5
HTML5 adalah kerangka kerja yang kuat untuk mengembangkan dan merancang aplikasi web. Pilar utama meliputiMark-up, CSS3 dan Javascript API bersama.
Diagram berikut menunjukkan komponen HTML5 -
Potongan kode yang diberikan di bawah ini menjelaskan deklarasi HTML5 dan doctype-nya.
<!DOCTYPE html>
Mengapa Kita Membutuhkan Soket Web?
Internet dianggap sebagai kumpulan halaman Hypertext Mark-up Language (HTML) yang menghubungkan satu sama lain untuk membentuk web informasi konseptual. Selama perjalanan waktu, sumber daya statis meningkat dalam jumlah dan item yang lebih kaya, seperti gambar dan mulai menjadi bagian dari struktur web.
Teknologi server canggih yang memungkinkan halaman server dinamis - halaman yang kontennya dibuat berdasarkan kueri.
Segera, persyaratan untuk memiliki halaman web yang lebih dinamis mengarah pada ketersediaan Dynamic Hypertext Mark-up Language (DHTML). Semua berkat JavaScript. Selama tahun-tahun berikutnya, kami melihatcross frame communication dalam upaya untuk menghindari pemuatan ulang halaman yang diikuti oleh HTTP Polling dalam bingkai.
Namun, tidak satu pun dari solusi ini menawarkan solusi lintas browser yang benar-benar terstandarisasi untuk komunikasi dua arah waktu nyata antara server dan klien.
Hal ini memunculkan kebutuhan akan Web Sockets Protocol. Ini memunculkan komunikasi dupleks penuh yang menghadirkan fungsionalitas kaya desktop ke semua browser web.