WebSocket
WebSocket ให้ full-duplex communication ระหว่าง client และ server
gorilla/websocket (ยอดนิยม)
Section titled “gorilla/websocket (ยอดนิยม)”go get github.com/gorilla/websocketpackage main
import ( "fmt" "log" "net/http"
"github.com/gorilla/websocket")
var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, // ระวัง: อย่าใช้ใน production แบบนี้ CheckOrigin: func(r *http.Request) bool { return true },}
func wsHandler(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println("Upgrade error:", err) return } defer conn.Close()
for { // Read message messageType, message, err := conn.ReadMessage() if err != nil { log.Println("Read error:", err) break }
log.Printf("Received: %s", message)
// Echo back response := fmt.Sprintf("Echo: %s", message) err = conn.WriteMessage(messageType, []byte(response)) if err != nil { log.Println("Write error:", err) break } }}
func main() { http.HandleFunc("/ws", wsHandler) log.Println("Server starting on :8080") log.Fatal(http.ListenAndServe(":8080", nil))}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google