Kembali ke Blog
Backend Development·1 menit baca·10 Desember 2025

WebSocket vs Server-Sent Events vs Long Polling

Perbandingan tiga teknik real-time communication di web application dan kapan menggunakan masing-masing.

TH
Tomi Hartanto·Senior Software Engineer

Tiga Pendekatan Real-Time

Ketika aplikasi butuh data real-time, ada tiga opsi utama yang bisa dipilih.

1. WebSocket

Koneksi full-duplex, client dan server bisa kirim data kapan saja.

const ws = new WebSocket('wss://api.example.com/ws');
ws.onmessage = (event) => {
  console.log('Received:', event.data);
};
ws.send(JSON.stringify({ type: 'ping' }));

Cocok untuk: Chat app, live collaboration, gaming

2. Server-Sent Events (SSE)

Satu arah (server ke client), lebih simple dari WebSocket.

const eventSource = new EventSource('/api/stream');
eventSource.onmessage = (event) => {
  console.log('Update:', event.data);
};

Cocok untuk: Live feed, notifications, stock ticker

3. Long Polling

Client request, server tahan respons sampai ada data baru.

Cocok untuk: Fallback ketika WebSocket/SSE tidak didukung

Perbandingan

Aspek WebSocket SSE Long Polling
Arah Bidirectional Server → Client Server → Client
Kompleksitas Medium Low Low
Reconnect Manual Auto Auto
Browser support Baik Baik Universal

Kesimpulan

Pilih berdasarkan use case. Untuk notifikasi sederhana, SSE sudah cukup. Untuk chat, pakai WebSocket.

TH

Tomi Hartanto

Senior Software Engineer

Backend developer dengan 8+ tahun pengalaman membangun sistem scalable. Menulis tentang arsitektur backend, database, dan DevOps.