From ccc344ab1c3886adcefcc2eb42d1e5aa1fd4b190 Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Fri, 9 Jul 2021 22:45:30 +0800 Subject: [PATCH] fix(server): panic on multi ws server. --- server/websocket.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server/websocket.go b/server/websocket.go index 1421b88..03d7076 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -70,12 +70,13 @@ func RunWebSocketServer(b *coolq.CQBot, conf *config.WebsocketServer) { s.handshake = fmt.Sprintf(`{"_post_method":2,"meta_event_type":"lifecycle","post_type":"meta_event","self_id":%d,"sub_type":"connect","time":%d}`, b.Client.Uin, time.Now().Unix()) b.OnEventPush(s.onBotPushEvent) - http.HandleFunc("/event", s.event) - http.HandleFunc("/api", s.api) - http.HandleFunc("/", s.any) + mux := http.ServeMux{} + mux.HandleFunc("/event", s.event) + mux.HandleFunc("/api", s.api) + mux.HandleFunc("/", s.any) go func() { log.Infof("CQ WebSocket 服务器已启动: %v", addr) - log.Fatal(http.ListenAndServe(addr, nil)) + log.Fatal(http.ListenAndServe(addr, &mux)) }() }