Skip to content

消息不显示或经常丢失的排查方法

John Smith edited this page Jun 9, 2024 · 1 revision

消息不显示或经常丢失的排查方法

请先严格按照注意事项使用。解决方法参考注意事项,本文只介绍排查方法

常见原因

  • 网络
    • 到blivechat公共服务器的网络错误,被墙或请求超时。由于使用了境外的服务器,在部分地区可能会经常遇到
    • 到B站服务器的网络错误。在你网络正常的情况下很少会遇到,但是在断线到重连的这段时间消息会丢失
  • 应用层
    • 本地使用时,没有运行blivechat.exe
    • 到B站服务器的连接数超过限制
    • 身份码错误,比如刷新了身份码但你没改URL
    • 设置了屏蔽选项,比如屏蔽了直播间勋章等级低于40的
    • 你发的弹幕被B站屏蔽了
  • 显示
    • 其实已经显示了但是浏览器源被裁剪了
    • 你复制了什么奇怪的CSS把消息全隐藏了。在OBS使用自定义CSS时,如果没有把旧的CSS内容删掉,可能会有预期外的效果
    • 意料之外的OBS或浏览器的坑

排查方法

本地使用时,如果一直显示“Loading”而没有其他东西,说明没有运行blivechat。当你运行后,房间页面加载成功时,会有“Loaded”的弹窗提示

尝试用浏览器打开公共服务器首页,如果打不开或超时则是到公共服务器的网络错误

v1.9.1及以上的版本,可以在高级设置中开启“显示调试消息”选项,然后进入房间页面可以看到连接过程等详细信息。正常情况应该显示“Connecting”、“Connected and authenticating”,然后如果没有报错就可以接收消息了

  • 如果显示“AxiosError: Network Error”或“AxiosError: timeout of XXX exceeded”,说明是到blivechat服务器(或公共服务器)的网络错误
  • 如果显示“AxiosError: Request failed with status code 500”,说明是blivechat服务器的错误。如果你是本地使用的,应该参考下文再去看控制台有什么报错
  • 其他应用层错误,比如“code=7007, message=身份码错误”、“code=7010, 超过上限,同一个应用单个直播间最多同时打开5个”,看错误信息应该就明白了

如果你是本地使用的,应该看控制台(运行blivechat.exe后出现的黑框)有什么报错。如果你关闭了控制台,也可以在文件log/blivechat.log里看到日志,内容和控制台差不多的

  • 如果有“TimeoutError”或“ConnectionResetError”,且请求的域名是chat.bilisc.com,说明是到公共服务器的网络错误
  • 其他应用层错误,比如“code=7007, message=身份码错误”、“code=7010, 超过上限,同一个应用单个直播间最多同时打开5个”,看错误信息应该就明白了

对于连接之外的显示问题,可以复制测试房间URL到OBS浏览器源。如果能显示消息,就能排除显示的问题