GatewayWorker偶尔无法触发onclose

keenzheng

运行过程:

  1. 建立gateway
  2. new websocket
  3. 关闭页面时触发 websocket.close
  4. 偶尔会出现 gateway Events onClose 没有触发
  5. 一开始以为是页面运行时问题
  6. 通过Gateway::getAllClientIdList()排查后发现, register已经销毁client_id
  7. 也就是说, 虽然register已经销毁了client_id, 但是整个过程没有触发Events onClose
  8. 目前心跳是1s一次, 到50次就会固定出现此问题
    求官方帮忙查看此问题
2194 1 0
1个回答

six

ps auxf,看下是不是运行了多个gatewayWorker

  • keenzheng 2020-05-13

    没有哈, 运行多个不会导致register查不到client_id的

  • six 2020-05-13

    感觉你用了什么特殊用法导致的,你可以下载个workerman-chat,看下是否有问题。

  • six 2020-05-13

    workerman-chat 离线会触发onClose,然后删除用户列表。

  • keenzheng 2020-05-14

    @1393:根据你的思路, 我去掉了event逻辑代码, 确实就正常了, 还没找到原因, 谢谢大佬

年代过于久远,无法发表回答
×
🔝