package main
import ( "fmt" "github.com/gorilla/websocket" "log" "net/http" "reflect" )
var upgrader = websocket.Upgrader{ CheckOrigin: func(r *http.Request) bool { return true }, }
func handleWebSocket(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println("升级失败:", err) return } defer conn.Close() for { msgType, msg, err := conn.ReadMessage() if err != nil { log.Println("读取错误:", err) break } fmt.Println(msg) fmt.Println(reflect.TypeOf(msg)) fmt.Println(reflect.TypeOf(msgType)) log.Printf("收到: %s", msg) if err := conn.WriteMessage(msgType, msg); err != nil { log.Println("发送错误:", err) break } } } func main() { http.HandleFunc("/ws", handleWebSocket) log.Fatal(http.ListenAndServe(":8080", nil)) }
|