传输控制协议 序列化 JSON
网络工具
概念
read/wirte类似一种拷贝函数,负责用户数据与系统缓冲区之间的数据传递。然后由传输控制协议决定数据的收发。
协议是计算机网络中用于定义通信双方如何交换信息的规则和标准。协议规定了数据的格式、传输方式、如何建立和终止通信连接、错误处理方式等方面的内容。
为了方便数据的发收和传输,会对数据进行一些结构化的处理,这个类似打包的过程就叫做序列化。将结构化的数据提取出来,解包的过程就叫做反序列化。
现成的序列化工具
JSON (JavaScript Object Notation)
定义: JSON 是一种轻量级的数据交换格式,易于人类阅读和编写,也易于机器解析和生成。它基于文本并使用键值对表示数据结构。
- 为了可以让cpp使用JSON,需要使用
jsoncpp
库
- 为了可以让cpp使用JSON,需要使用
格式: 文本格式,使用花括号
{}
表示对象,方括号[]
表示数组,数据类型包括字符串、数字、布尔值、数组、对象等。CPP中JSON的使用,需要安装libjsoncpp-dev
$ g++ -o json json.cpp -std=c++11 -ljsoncpp
1 |
|
1 |
|
Protobuf (Protocol Buffers)
定义: Protobuf 是由 Google 开发的一种高效的序列化格式,用于结构化数据的序列化和反序列化。它使用二进制格式,设计目的是提高性能和效率。
格式: 二进制格式,基于预定义的消息结构。需要通过
.proto
文件定义数据结构(消息)。
传输控制协议 序列化 JSON
https://weihehe.top/2024/08/18/传输控制协议/