Mengenal teknologi WebSocket

WebSocket merupakan sebuah halaman website, namun berbeda dengan website pada umumnya. WebSocket merupakan sebuah modern website, dimana dapat terjadi interkasi antar pengguna(http) yang berjalan di latar belakang, tanpa harus mereload halaman tersebut. Dengan menggunakan websocket maka data-data yang ada akan bersifat realtime, contohnya seperti di twiiter.

Websocket akan bekerja ketika ada sentuhan atau push dari salah satu pengguna. Websocket sendiri menjadi 2 bagian yaitu server dan client. Dimana pada halaman client merupakan halaman yang bisa di lihat oleh pengguna, sedangkan pada bagian server berfungsi untuk menerima dan melayani data, khususnya untuk data baru.

Perlu di ketahui data yang dikirim ke server merupakan data JSON atau yang di sebut API(application programming interface) kemudian akan di kembalikan ke client dengan mengubah bentuk ke dalam bentuk halaman html5.

Sebenernya teknologi yang serupa dengan websocket ada yaitu web polling, web polling sendiri fungsi utamanya sama yaitu menerima data realtime baik dari database maupun tidak, namun kendala yang dihadapi menggunakan long polling yaitu akan membuat website menjadi berat.

Cara kerja web polling yaitu dengan mengirimkan permintaan yang terus menerus atau berkala dengan waktu yang telah di tentukan. Maka hal ini membuat semuanya jadi overhot, dan akan memungkinkan terjadi serangan DDOS.

Manfaat Menggunakan WebScoket

  • Data yang di terima akan bersifat realtime.
  • Meminimalisir trafic yang tidak perlu dengan koneksi single.
  • Dapat melakukan streaming melalui proxy dan firewall.
  • Mendukung di semua jenis modern website,pergantian http ke websocket.

Kapan harus menggunakan websocket ?

Penggunaan websocket akan terasa manfaatnya ketika terjadi interaksi data antar pengguna, dan bersifat realtime, contohnya seperti aplikasi chatting. Aplikasi chatting akan otomatis memunculkan data ketika ada client lain mengirim data.

Implementasi Teknologi Websocket

Implementasi websocket tentunya di dukung oleh bahasa program yang kita pakai, yang sangat populer dan sering digunakan untuk membuat websocket yaitu node JS, bahasa yang di pakai yaitu socket.io.

Dengan menggunakan socket.io sudah bisa membuat website secara realtime, namun untuk servernya saja. Untuk integrasi antar socket server dan socket client bisa menambahkan express.js sebagai user interfacenya.

Lalu bagaimana dengan bahasa pemrograman lain ?

Untuk bahasa pemrograman lain pastinya juga mendukung namun tidak semua, salah satu bahasa program yang populer yaitu PHP, PHP juga dapat mengimplementasikan websocket , seperti menggunakan Ratchet.

Bukan hanya PHP saja, bahasa populer lainnya seperti python, ruby juga sangat mendukung untuk menimplementasikan.

Perbedaan Websocket dengan Teknologi Ajax

Sangat berbeda, dimana ajax harus meminta request terlebih dahulu ketika ingin menampilkan data yang sudah update.

Nah bukannya webscoket juga harus meminta dulu ?

Jadi websocket hanya meminta koneksi pertama saja. Asumsikan kita mempunya web socket dan ada 2 orang yang akses, sebut saja A dan B. Socket akan merespon ketika di A dan B melakukan reload pertama saja. Setelah itu ketika si B melakukan kiriman data si A akan menerimanya. Lalu kalau aja bagaimana ? AJax harus meminta request khususnya yang disimpan dari database, saya asumsikan lagi ketika kita menggunakan ajax, sebut saja aplikasi chating. Client A dapat menerima chating dari si B ketika dia melakukan resuest data, misalnya menggunakan tombol. Jadi ajax tidak berjalan di latar belakang.

Muncul pertanyaan lagi, kan bisa menggunakan timeout interval ?

Emang hal ini bisa dilakukan , tapi bukan merupakan webscoket namun Web polling, dimana semua teknologi akan bekerja lebih untuk melakukan hal itu.

Seperti itu penjelasan mengenai websocket.

Terima Kasih.

Avatar
Didik
Saya Seorang Developer khususnya pada Bidang Website menggunakan Sistem Operasi Linux dan menyukai Pemrograman Website dan System Administrator. Selain itu saya pemilik website kodingin.com.
Leave a Reply