我使用的 broker 是 emqx,通过微信小程序向硬件锁发送开锁指令,小程序一发送查询指令,服务器上的 uwsgi 请求日志能立即看到一条请求记录,说明这条请求指令是立马就通过 uwsgi 发送了的,但是过了 1 分钟左右才能收到 mqtt broker 返回的状态结果。一旦能收到返回结果后短时间内再次向硬件发送查询或者开锁的指令,就能在 1S 内返回结果。通过 mqtt.fx 这种 mqtt 客户端软件发送查询或者开锁指令却能很快地进行查询或者开锁。
有懂 mqtt 的大神指教一下!
1
delectate 2020-03-27 18:05:26 +08:00
keepalive 设置多久?有的 2g 网络就是慢,没办法的,把 keepalive 缩短一些就好了。
|
2
micean 2020-03-27 18:43:04 +08:00
连接池空闲的连接其实已经断掉了,请求 broker 后 timeout 回收了。检查下配置吧
|
3
mnssbe 2020-03-28 02:10:34 +08:00 via iPhone
你订阅 mqtt 消息,看看是发的慢还是硬件收得慢,从你的描述我估计是发送的问题
|