wafer2服务端tunnel.broadcast函数的返回的无效信道问题
发布于 5 年前 作者 qiangtan 14687 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

wafer2服务端tunnel.broadcast函数,会返回一个无效信道数组invalidTunnelIds

使用时发现该数组中的信道是有效的,但却被误认为是无效信道,导致信道关闭

因为wafer2的tunnel是使用信道服务器实现的,该数组invalidTunnelIds 是根据信道服务器返回的数据获得的,而信道服务器对开发者透明,开发者无法得知这个信道的无效性是如何检测的,希望可以对开发者进行说明其检测机制。

下面是使用微信开发工具提供的 腾讯云nodeJS快速启动模板 时发生的错误截图,使用开发工具提供的腾讯云单步调试服务器端

本人使用微信开发工具的一个账号登陆,可以正常通信,此时使用另一个账号再ios端上登陆,会检测到刚刚登陆的信道是无效的

可以看到,tunnelId为 8f4526c9-2303-4b61-a190-ee0ae4700d3e 的信道被检测为无效,但是事实上再后面服务器又收到了该信道发来的消息,所以是否在信道服务器上,关于无效信道的检测是有问题的

  • 预期表现

能正常通信的信道不应该被检测为无效信道

  • 复现路径

腾讯云nodeJS快速启动模板

  • 提供一个最简复现 Demo

腾讯云nodeJS快速启动模板,使用两个客户端进行调试,会出现以上问题,如果无法找到问题原因,希望能说明一下信道服务器端对无效信道的检测机制。

回到顶部