请问在多个设备使用相同Client ID情况下,服务端这边能否实现类似MQTTX内给客户端添加时间戳来为防止重复连接的方法?

使用的是windows11,emq5.3.2
设备内厂家已经固定使用了同一个用户名和密码、客户端ID,自己不好修改成多个客户端ID,需要尝试多个设备使用同一个客户端ID。

无法解决,每个 mqtt 客户端使用唯一的客户端 id 是协议规范。

还想请教一个问题,在之前解决问题之前发现使用用户名作为客户端ID启用以后,可以使用用户名替换客户端ID,这一步的实现原理是什么?如果可以修改为用户名,那是否能否其他的内置参数作为替换,例如客户端ip地址呢?

你可以尝试client id 为空,有的mqtt broker 当client id 为空时,会自动给客户端指派一个id。
但我不晓得emqx 是否有这个feature。