Server Chat WebSocket
Server chat real-time yang dibangun dengan Go dan WebSocket untuk mempelajari komunikasi real-time
Bagikan proyek ini:
Tentang Proyek
Server Chat WebSocket (Go)

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
-
Clone Repositori
git clone <repository-url> cd learn-websocket-go -
Install Dependensi
go mod download -
Jalankan Server
go run main.goServer akan berjalan di
http://localhost:9000.
💻 Panduan Penggunaan
Menguji dengan Postman
- Buka Postman dan buat WebSocket Request baru.
- Hubungkan ke URL:
ws://localhost:9000/ws/chat?name=nama_anda. (Penting: parameternametidak boleh kosong!) - Klik Connect.
- 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!