FishZe / go-bili-chat

Bilibili直播间弹幕处理库 支持事件绑定 高性能 低占用
GNU Affero General Public License v3.0
39 stars 10 forks source link

一些优化和改进 #10

Closed XiaoMiku01 closed 1 year ago

XiaoMiku01 commented 1 year ago

1.删除没必要的cookie获取
不需要 cookie 也可以获取接口消息。原来的写法用全局变量保存在并发情况下有概率会多次请求B站主站,可能会被拦截,测试后发现 cookie 可以不需要。 2.弹幕池默认不走cdn,默认可以发送空字符串token
弹幕池的ws链接的cdn并不稳定。而且过期,可以直接连接主弹幕池 broadcastlv.chat.bilibili.com ,而且不需要验证 token 也可以获取ws数据包,减少了请求次数。
3.适配房间号为短号的情况
有些主播的房间号为短号,必须获取真是房间id才能连接到弹幕池,这里做了适配,房间号短于五位数的都会默认去获取真实房间号。

最后希望作者添加断线重连机制,以适应网络环境不好的情况。感谢!

FishZe commented 1 year ago

感谢贡献。

  1. 关于Cookie我也注意到了高并发会被拦截的问题. 这个cookie的初衷其实是为了以后扩展发弹幕/禁言等接口使用的, 可以暂时去掉.
  2. 关于连接不稳定, client是具有断线重连机制的, 这个可以放心, 我的弹幕监测程序已经稳定监测几十个房间两个多月了. 至于连接点的问题, 刚刚我在dev分支内push了一个根据延迟排序连接点的commit, 所以会有一些conflict, 之后会将不使用cdn也作为一个可选Mode.