GatewayWorker onClose里的内容为什么会重复执行?

bengore

截图
上面是onClose里执行的内容,我想在客户端断开的时候清除数据库里相应设备的client_id,清除功能没有问题,但有个疑问,通过日志查看,每次断开都会执行好几次if里面的内容,是什么原因呢?

截图

1782 2 0
2个回答

keytehu

很正常吧,onClose不是客户端连接断开时执行么?说明有多个连接断开过,所以有多个执行。

  • bengore 2020-02-25

    可测试的时候只有一个客户端连接啊

bengore

截图
只有一个客户端连接

  • keytehu 2020-02-25

    一个连接断了连,过一会儿断开,又连又断。任何时候 netstat 看到的是一个连接,但是实际上onClose已经运行了n次。你在onConnect的时候记录日志(client_id记下来),onClose的时候也记录日志(client_id记下来)排查吧

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