Server Chat WebSocket

Server chat real-time yang dibangun dengan Go dan WebSocket untuk mempelajari komunikasi real-time

golangwebsocketreal-timechatserver

Bagikan proyek ini:

Tentang Proyek

Server Chat WebSocket (Go)

Broadcasting Pesan

Implementasi server chat real-time yang dibangun dengan Go dan protokol WebSocket. Proyek pembelajaran ini mendemonstrasikan cara membangun aplikasi berbasis WebSocket untuk komunikasi dua arah (bidirectional) secara real-time antara klien dan server.

📋 Ringkasan

Ini adalah proyek latihan yang berfokus pada pembelajaran implementasi WebSocket di Go. Proyek ini membuat server chat sederhana di mana banyak klien dapat terhubung dan saling mengirim pesan secara real-time.

Catatan: Repositori ini hanya berisi implementasi sisi server. Pengujian sisi klien dapat dilakukan menggunakan alat seperti Postman, wscat, atau klien WebSocket apa pun.

✨ Fitur

  • Pesan Real-time: Pengiriman pesan instan ke semua klien yang terhubung.
  • Protokol WebSocket: Komunikasi dua arah yang efisien.
  • Banyak Klien: Mendukung koneksi simultan dari berbagai pengguna.
  • Identifikasi Pengguna: Identifikasi klien berbasis nama.
  • Sistem Broadcast: Pesan dikirim ke semua pengguna yang terhubung secara otomatis.
  • Manajemen Koneksi: Menangani event koneksi dan diskoneksi klien.

🛠️ Teknologi yang Digunakan

  • Go (Golang): Bahasa pemrograman sisi server.
  • Gorilla WebSocket: Library WebSocket untuk Go.
  • Protokol WebSocket: Protokol komunikasi real-time.
  • HTTP: Untuk peningkatan (upgrade) koneksi awal.

📁 Struktur Proyek

learn-websocket-go/
├── main.go              # File server utama dengan penanganan WebSocket
├── go.mod              # Dependensi modul Go
├── go.sum              # Checksum dependensi
└── README.md

🚀 Memulai

Prasyarat

  • Go 1.18 atau lebih tinggi sudah terinstal.
  • Pemahaman dasar tentang protokol WebSocket.

Langkah Instalasi

  1. Clone Repositori

    git clone <repository-url>
    cd learn-websocket-go
    
  2. Install Dependensi

    go mod download
    
  3. Jalankan Server

    go run main.go
    

    Server akan berjalan di http://localhost:9000.

💻 Panduan Penggunaan

Menguji dengan Postman

  1. Buka Postman dan buat WebSocket Request baru.
  2. Hubungkan ke URL: ws://localhost:9000/ws/chat?name=nama_anda. (Penting: parameter name tidak boleh kosong!)
  3. Klik Connect.
  4. Kirim pesan dan lihat pesan tersebut disiarkan (broadcast) ke klien lain.

Menguji dengan wscat (CLI)

# Terminal 1
wscat -c "ws://localhost:9000/ws/chat?name=Alice"
# Terminal 2
wscat -c "ws://localhost:9000/ws/chat?name=Bob"

Selamat Belajar WebSocket! 🚀💬
Komunikasi real-time jadi mudah dengan Go!

Server Chat WebSocket | Daffathan Labs | Daffathan Labs