一些开源协议

Protobuf:一种更小、更快、更高效的协议

ProtobufProtobuf-C

  Protobuf是Google公司开发的一种数据格式,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强,因为支持的语言没有C所以才有了Protobuf-C.

      protobuf-c在嵌入式Linux平台上的使用

JSON与 cJSON

  JSON类型数据可读性很好,但是整个数据包中会带有一些无用的数据,会在一定程度上带来通信负担.简单的JSON数据,我们使用C语言的一些字符串操作相关的库函数也是可以做到组包和解析的,但是一些稍微复杂一点的JSON,可能就没那么好操作了。这时候我们可以借助一个第三方库——cJSON库,可以很方便来做数据组包及解析。json格式(分有空格的JSON(log查看),无空格格式的json(实际通信时)cJSON_PrintUnformatted在线检查网站。

CJSON打包解析的例子

s2j库

 二 nanomsg

  是一个实现了几种可扩展协议的高性能通信库;可扩展协议的任务是定义多个应用系统如何通信,从而组成一个大的分布式系统。用于多线程、多进程、多机通信。nanomsg是一个socket library,所以其应用接口与标准的socket接口差不多,只是多了前缀nn_

原文地址:https://www.cnblogs.com/jieruishu/p/14708733.html