韓立剛WindowsServer2022
? ? ? ? ? ?// Add queued chat messages to the current websocket message.
? ? ? ? ? ?n := len(c.send)
? ? ? ? ? ?for i := 0; i < n; i++ {
? ? ? ? ? ? ? ?w.Write(newline)
? ? ? ? ? ? ? ?w.Write(<-c.send)
? ? ? ? ? ?}
? ? ? ? ? ?if err := w.Close(); err != nil {
? ? ? ? ? ? ? ?return
? ? ? ? ? ?}
? ? ? ?case <-ticker.C:
? ? ? ? ? ?c.conn.SetWriteDeadline(time.Now().Add(writeWait))
? ? ? ? ? ?if err := c.conn.WriteMessage(websocket.PingMessage, nil); err != nil {
? ? ? ? ? ? ? ?return
? ? ? ? ? ?}
? ? ? ?}
? ?}}// serveWebsocket handles websocket requests from the peer.func serveWebsocket(hub *Hub, w http.ResponseWriter, r *http.Request) {
? ?conn, err := upgrader.Upgrade(w, r, nil)
? ?if err != nil {
? ? ? ?log.Println(err)
? ? ? ?return