Billyzou0741326 / bilibili-live-monitor-ts

bilibili - b站直播监控
https://billyzou0741326.github.io/bilibili-live-monitor-ts/
MIT License
28 stars 4 forks source link

监控分区房间发现不断重连的问题 #54

Closed xia-i closed 4 years ago

xia-i commented 4 years ago

由于连接房间弹幕的时候发送的包没有包含key(token),导致的被断开连接 然后不断重连

xia-i commented 4 years ago

如果没有包含key,弹幕服务器会返回html数据后断开连接

xia-i commented 4 years ago

bilibili-tcp连接的开播房间发送的包是包含key,但每个分区一个房间的全区广播监控却没有包含key

Billyzou0741326 commented 4 years ago

多谢 实现了

xia-i commented 4 years ago

抓包测试,发现还是没有包含 QQ1111

Billyzou0741326 commented 4 years ago

https://github.com/Billyzou0741326/bilibili-live-monitor-ts/blob/080faedd2f0e355c1f76c640a29084055195cab9/src/danmu/tcp-danmu.ts#L743

mark一下

xia-i commented 4 years ago

https://github.com/Billyzou0741326/bilibili-live-monitor-ts/blob/080faedd2f0e355c1f76c640a29084055195cab9/src/danmu/tcp-danmu.ts#L743

mark一下

改了这里包含key了,不过也是在不断重连,别的地方好像还有问题

Billyzou0741326 commented 4 years ago

我想了半天... 应该是需要重新编译 执行tsc(任意子目录下)

Billyzou0741326 commented 4 years ago

应该可以了 d4e4f53c3915404f2972668dfbdbe9b8038de677

xia-i commented 4 years ago

应该可以了 d4e4f53

bilibili-tcp设置true的情况,是不是不会监控分区房间

Billyzou0741326 commented 4 years ago

分区是无论如何都会监控的 所以没写进设置 bilibili-tcp单指舰长监控 然后http最好保持关闭 防412

xia-i commented 4 years ago

分区是无论如何都会监控的 所以没写进设置 bilibili-tcp单指舰长监控 然后http最好保持关闭 防412

但是我bilibili-tcp设置true,就没有打印Setting up monitor @room ** in

xia-i commented 4 years ago

分区是无论如何都会监控的 所以没写进设置 bilibili-tcp单指舰长监控 然后http最好保持关闭 防412

但是我bilibili-tcp设置true,就没有打印Setting up monitor @room ** in

哦打印了,要等几分钟

Billyzou0741326 commented 4 years ago
 [2020-04-29 22:18:40]   WS server listening on 0.0.0.0:8999
 [2020-04-29 22:18:40]   Http server listening on 0.0.0.0:9001
(node:4829) ExperimentalWarning: The fs.promises API is experimental
 [2020-04-29 22:18:53]   Setting up monitor @room 90713         in 手游区
 [2020-04-29 22:18:53]   Setting up monitor @room 923833        in 单机区
 [2020-04-29 22:18:53]   Setting up monitor @room 14917277      in 娱乐区
 [2020-04-29 22:18:53]   Setting up monitor @room 4829275       in 绘画区
 [2020-04-29 22:18:53]   Setting up monitor @room 10825345      in 电台区
 [2020-04-29 22:18:53]   Setting up monitor @room 5279          in 网游区

几分钟的话太慢了... windows我测过连接上万就把网络堵塞完了 然后http错误刷屏 原因不明 linux没出现过这样的问题

xia-i commented 4 years ago

他在连全区房间,没有立即监控分区,这才是导致慢的原因吧

Billyzou0741326 commented 4 years ago

对 异步执行的

xia-i commented 4 years ago

测试了一下 room/v1/Danmu/getConf获取的token是可以复用的,而且不需要带房间号参数

xia-i commented 4 years ago

一个token连几千房间都可以

xia-i commented 4 years ago

目前连接房间的速度比较慢,差不多1秒10个,token复用可以一分钟连上全部房间

Billyzou0741326 commented 4 years ago

复用可行吗 我倒是想过 单个房间可以复用token 多个用同一token可行吗

xia-i commented 4 years ago

复用可行吗 我倒是想过 单个房间可以复用token 多个用同一token可行吗

我测试了,短时间没问题,长时间不知道,毕竟用windows测试吃不消这么多连接数

xia-i commented 4 years ago

我用4天前拿的token,都能连上

Billyzou0741326 commented 4 years ago

token不与房间号对应那确实很好办

xia-i commented 4 years ago

token与uid对应,带cookie获取的,连接的uid也要是这个cookie的uid,不带cookie就uid0