一些开源协议
Protobuf是Google公司开发的一种数据格式,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强,因为支持的语言没有C所以才有了Protobuf-C.
JSON与 cJSON
:
JSON类型数据可读性很好,但是整个数据包中会带有一些无用的数据,会在一定程度上带来通信负担.简单的JSON数据,我们使用C语言的一些字符串操作相关的库函数也是可以做到组包和解析的,但是一些稍微复杂一点的JSON,可能就没那么好操作了。这时候我们可以借助一个第三方库——cJSON库
,可以很方便来做数据组包及解析。json格式(分有空格的JSON(log查看),无空格格式的json(实际通信时)cJSON_PrintUnformatted
)在线检查网站。
CJSON打包解析的例子
s2j库
二 nanomsg
是一个实现了几种可扩展协议
的高性能通信库;可扩展协议的任务是定义多个应用系统如何通信,从而组成一个大的分布式系统。用于多线程、多进程、多机通信。nanomsg是一个socket library,所以其应用接口与标准的socket接口差不多,只是多了前缀nn_
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2017-04-27 基于时间系统的状态机
2017-04-27 转《最优状态机》
2017-04-27 状态机编程-队列缓冲事件,事件可异步触发