python + asyncio_mqtt
EMQ 5.0
批量创建连接(200个)
场景一:
循环创建连接,并且创建成功后开始每间隔2S发布一次消息,没有延时,只能成功部分。
场景二:
在每次创建连接的中间添加1秒延时,就不会出现连接丢失的情况,并且所有的连接消息手法正常。
python + asyncio_mqtt
EMQ 5.0
批量创建连接(200个)
场景一:
循环创建连接,并且创建成功后开始每间隔2S发布一次消息,没有延时,只能成功部分。
场景二:
在每次创建连接的中间添加1秒延时,就不会出现连接丢失的情况,并且所有的连接消息手法正常。
得看下原因,从报错信息上进行分析
感谢回复!
找到原因了,是我自己代码的原因,在高并发时候或者快速循环创建连接时候,client_id字段值采用的是10位时间戳的形式。
太快的原因导致有些client_id重复,publish结束后会执行disconnect操作,使用相同client_id的其它连接就会被断开,无法继续publish。
现改用uuid的格式,经过大批量连接测试,问题未再复现。