From c78dfc05ea32115dcfdbff5a6280c7ae2293ac06 Mon Sep 17 00:00:00 2001 From: qydysky Date: Thu, 18 Jul 2024 00:51:44 +0800 Subject: [PATCH] =?utf8?q?Fix=20=20=E7=9B=91=E5=90=AC=E7=9B=B4=E6=92=AD?= =?utf8?q?=E9=97=B4=E4=B8=AD=E6=96=AD=20#120?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bili_danmu.go | 12 +++++++++--- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bili_danmu.go b/bili_danmu.go index 21342fe..46fb29a 100644 --- a/bili_danmu.go +++ b/bili_danmu.go @@ -254,6 +254,7 @@ func entryRoom(mainCtx context.Context, danmulog *part.Log_interface, common *c. // 对每个弹幕服务器尝试 F.Get(common).Get(`WSURL`) aliveT := time.Now().Add(3 * time.Hour) + heartbeatmsg, heartinterval := F.Heartbeat() for i, exitloop := 0, false; !exitloop && i < len(common.WSURL) && time.Now().Before(aliveT); { v := common.WSURL[i] //ws启动 @@ -261,7 +262,7 @@ func entryRoom(mainCtx context.Context, danmulog *part.Log_interface, common *c. u, _ := url.Parse(v) ws_c, err := ws.New_client(&ws.Client{ Url: v, - TO: 35 * 1000, + TO: (heartinterval + 5) * 1000, Proxy: common.Proxy, Func_abort_close: func() { danmulog.L(`I: `, `服务器连接中断`) }, Func_normal_close: func() { danmulog.L(`I: `, `服务器连接关闭`) }, @@ -288,7 +289,9 @@ func entryRoom(mainCtx context.Context, danmulog *part.Log_interface, common *c. continue } if ws_c.Isclose() { - danmulog.L(`E: `, "连接错误", ws_c.Error()) + if err := ws_c.Error(); err != nil { + danmulog.L(`E: `, "连接错误", err) + } i += 1 continue } @@ -342,7 +345,6 @@ func entryRoom(mainCtx context.Context, danmulog *part.Log_interface, common *c. //30s获取一次人气 go func() { danmulog.L(`T: `, "获取人气") - heartbeatmsg, heartinterval := F.Heartbeat() for !ws_c.Isclose() { wsmsg.Push_tag(`send`, &ws.WsMsg{ Msg: heartbeatmsg, @@ -448,6 +450,10 @@ func entryRoom(mainCtx context.Context, danmulog *part.Log_interface, common *c. cancel() } + if err := ws_c.Error(); err != nil { + danmulog.L(`E: `, "连接错误", err) + } + cancelfunc() time.Sleep(time.Second) } diff --git a/go.mod b/go.mod index 4e4ce88..1acacf5 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.2 require ( github.com/gotk3/gotk3 v0.6.4 github.com/mdp/qrterminal/v3 v3.2.0 - github.com/qydysky/part v0.28.20240708182044 + github.com/qydysky/part v0.28.20240717164111 github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 golang.org/x/text v0.16.0 diff --git a/go.sum b/go.sum index b4466fa..2bead95 100644 --- a/go.sum +++ b/go.sum @@ -46,8 +46,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/qydysky/biliApi v0.0.0-20240707084224-dd146610f462 h1:SblV/m+0mx6QgH2YYvdjE5QxhyfE/EOQglJ1PGd3x3E= github.com/qydysky/biliApi v0.0.0-20240707084224-dd146610f462/go.mod h1:om024vfxALQ5vxsbaGoMm8IS0esLYBnEOpJI8FsGoDg= -github.com/qydysky/part v0.28.20240708182044 h1:Av1SaUu/cvwGZ3xnsq9KabFjjn2Wwl+xjbAJbq6a2Iw= -github.com/qydysky/part v0.28.20240708182044/go.mod h1:dgagZnPYRFZDbt7XJf7nADOJLoYwlebD9B8Z8g5aHhI= +github.com/qydysky/part v0.28.20240717164111 h1:yDcDebBxSxvGb5YgFmd3k6kgvzGGq5LyNzyX9rn59vg= +github.com/qydysky/part v0.28.20240717164111/go.mod h1:dgagZnPYRFZDbt7XJf7nADOJLoYwlebD9B8Z8g5aHhI= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI= -- 2.39.2