123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package web_socket
- //
- //var clients = make(map[*websocket.Conn]bool) // 存储所有连接的客户端
- //var broadcast = make(chan Message) // 用于广播消息
- //var mutex sync.Mutex // 用于同步访问clients map
- //
- //var upgrader
- //type Message struct {
- // User string `json:"user"`
- // Msg string `json:"msg"`
- // Topic string `json:"topic"`
- //}
- //
- //func serveWs(w we_http.ResponseWriter, r *we_http.Request) {
- // conn, err := upgrader.Upgrade(w, r, nil)
- // if err != nil {
- // log.Fatal(err)
- // return
- // }
- // defer conn.Close()
- //
- // mutex.Lock()
- // clients[conn] = true
- // mutex.Unlock()
- //
- // for {
- // var msg Message
- // err := conn.ReadJSON(&msg)
- // if err != nil {
- // mutex.Lock()
- // delete(clients, conn)
- // mutex.Unlock()
- // break
- // }
- // broadcast <- msg
- // }
- //}
- //
- //func broadcastMessages() {
- // for {
- // msg := <-broadcast
- // mutex.Lock()
- // for client := range clients {
- // err := client.WriteJSON(msg)
- // if err != nil {
- // log.Printf("error: %v", err)
- // client.Close()
- // delete(clients, client)
- // }
- // }
- // mutex.Unlock()
- // }
- //}
- //
- //func init() {
- // upgrader = websocket.Upgrader{
- // ReadBufferSize: 1024,
- // WriteBufferSize: 1024,
- // CheckOrigin: func(r *we_http.Request) bool {
- // return true
- // },
- // }
- //
- // we_http.HandleFunc("/ws", serveWs)
- // go broadcastMessages()
- //
- // we_http.ListenAndServe(":8080", nil)
- //}
|