当前位置: 首页 > 工具软件 > mqttc > 使用案例 >

paho mqtt c库,一个进程创建多客户端,mqtt侧,实际仅创建一个线程.

马权
2023-12-01


paho MQTT C API接口描述

场景:

客户端A,与本地代理通信;
客户端B,与远端的代理通信(物管平台).

问题

两个客户端的消息到达函数(MQTTAsync_messageArrived类型),不能并行.互相阻塞.

原因

翻阅源码以及pthread_self()函数验证,得出结论:

同进程,仅可创建一个线程,不会因为多个客户端而创建多个线程.

解决方案

  1. 客户端A与客户端B,消息处理上要接收串行的情况
  2. 拆分为2个进程,分别处理客户端A,客户端B.
 类似资料: