我们需要在非常不同的软件组件之间发送数据(从嵌入式设备到Web服务)。由于各种原因(将Mosquitto编译到最困难的平台上是其中最小的原因之一),我们决定使用MQTT消息代理协议。这是一种相当轻量级的协议,为要发布的消息提供了一个应用程序定义的有效载荷。现在我们需要找到一种方法指定该有效载荷中的数据。
目前的想法是使用一些现有的IDL,它提供了至少可以访问来自C ++和Java的数据的能力,最好还包括Python和其他语言。如果这会带有编码/解码 API,可用于将数据序列化到MQTT协议的有效负载中,以及将其反序列化出来,则这将是理想的。
目前的想法是使用一些现有的IDL,它提供了至少可以访问来自C ++和Java的数据的能力,最好还包括Python和其他语言。如果这会带有编码/解码 API,可用于将数据序列化到MQTT协议的有效负载中,以及将其反序列化出来,则这将是理想的。
有类似的东西吗?
注意:
- 将会有大量的数据。实际上,为了避免网络拥塞,我们可能需要从当前规格中削减它。XML格式可能对此过于冗长。
- 格式应易于编码和解码,因为在嵌入式平台上,CPU共享是宝贵的。(这可能是不发送XML的另一个原因。)
- 如果用于此的任何组件(IDL编译器等)不是跨平台的,则应在Windows上运行。
- 我不是网络专家。如果IDL是上个十年的事情,技术已经发展,有更好的方法在网络上在平台之间传输数据,请建议。