解决MQTT客户端出现"正在进行过多的发布"/订阅端可能收不到消息的问题
症状:
发布者同时发布很多条消息,有时订阅者就是收不到,并且无论客户端还是服务端qos都设置了2.
发布者有时还出现异常:正在进行过多的发布。
其中发布者用的是Eclipse的Paho客户端。
曾经我一度怀疑服务端的性能,
后来发现是客户端的问题,
解决方法:
MqttConnectOptions options = new MqttConnectOptions();
options.setMaxInflight(1000);
最关键的就是这句options.setMaxInflight(1000);
意思是支持同时发送的消息数为1000. (默认值为10)