From e92361eb803f2f998a158e0c8f84cf854331bbb0 Mon Sep 17 00:00:00 2001 From: HeZhaohui Date: Tue, 24 Feb 2026 15:38:17 +0800 Subject: [PATCH] =?UTF-8?q?Update:=20websocket=20=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 5 +++++ go.sum | 2 ++ main.go | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 go.mod create mode 100644 go.sum create mode 100644 main.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..61d6c8f --- /dev/null +++ b/go.mod @@ -0,0 +1,5 @@ +module go-websocket + +go 1.25.5 + +require github.com/gorilla/websocket v1.5.3 // indirect diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..25a9fc4 --- /dev/null +++ b/go.sum @@ -0,0 +1,2 @@ +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= diff --git a/main.go b/main.go new file mode 100644 index 0000000..d8afb12 --- /dev/null +++ b/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "log" + "net/http" + "github.com/gorilla/websocket" +) + +var upgrader = websocket.Upgrader{ + ReadBufferSize: 1024, + WriteBufferSize: 1024, + CheckOrigin: func(r *http.Request) bool { + return true + }, +} + +func handler(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() + log.Println("欢迎来到小酒馆!!") + + for { + // read message + messageType, message, err := conn.ReadMessage() + if err != nil { + log.Println("拜拜了您嘞") + break + } + + log.Printf("听到了听到了,您说的是 %s", message) + err = conn.WriteMessage(messageType, []byte("好嘞")) + if err != nil { + log.Println("啥玩意咋走了", err) + break + } + } +} + +func main() { + http.HandleFunc("/ws", handler) + log.Println("好戏开场") + err := http.ListenAndServe(":8080", nil) + + if err != nil { + log.Fatal("下回见伙计们", err) + } +} \ No newline at end of file