lyyyuna / bilibili_danmu

B 站直播弹幕姬 Python 版
236 stars 47 forks source link

tcp弹幕获取过程中会出现unpack错误 #5

Closed yemaobumei closed 7 years ago

yemaobumei commented 7 years ago

出现错误,应该要重连直播间。不然await一直不会报错,无限等待。

lyyyuna commented 7 years ago

@yemaobumei 直接偷懒在最外层一个 try except。重连的话可以参考https://github.com/lyyyuna/bilibili_danmu_colloector/blob/master/taskscreator.py 要把对应心跳 task 找到 cancel 掉。不过这个repo保持简洁就不做这么多工程性的操作了。

yemaobumei commented 7 years ago

心跳任务里有个while self.connected==True就发送数据包的语句,我把==False等待0.5s的情况删了,所以我在unpack失败后,直接把connected置为False,这样心跳任务也就自动结束了?另外您是否考虑过将json.loads(messages)失败情况下的处理方法(我自己用了简单一点的正则匹配)。我看了下是json字符串不完全所致,而且出现这种情况大多是送礼物消息时候出现的。

lyyyuna commented 7 years ago

@yemaobumei 可以呀。