logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

计算机网络:序列化和反序列化

摘要 本文通过自行车拆装比喻,生动解释了序列化和反序列化概念。序列化是将内存中的结构化数据(如游戏角色对象)转换为便于传输/存储的字节流(如JSON格式),类似拆卸打包自行车;反序列化则是按相同规则将字节流重建为原始数据结构,如同拆箱组装。文章演示了C++中使用jsoncpp库进行序列化(构建嵌套JSON对象)和反序列化(解析JSON字符串)的具体代码实现,包括数组、嵌套对象处理及错误捕获机制,并

文章图片
#linux#网络#c++ +2
计算机网络:socket编程UDP

Socket编程核心要点 Socket是操作系统提供的网络通信机制,本质是特殊的文件描述符,用于进程间数据交换。 服务端流程:创建socket→绑定IP/端口→接收数据→回复→关闭。关键函数:socket()、bind()、recvfrom()/sendto()。 客户端关键:通过目标IP(如127.0.0.1)和端口号(如12345)定位服务端,使用相同协议族(如AF_INET)进行通信。 注意

文章图片
#网络#linux#udp +3
计算机网络:HTTP报文

HTTP报文是客户端与服务器之间传输数据的"包裹",分为请求报文和响应报文两种类型。报文采用四层结构:起始行(包含请求方法或状态码)、首部(描述报文属性)、空行(分隔头部与主体)、主体(实际数据内容)。在传输过程中,HTTP报文会经历层层封装,从应用层结构体依次添加TCP头部、IP头部和MAC头部,形成网络传输的数据包。TCP协议通过序号机制确保数据传输的可靠性,解决网络传输中

文章图片
#计算机网络#http#网络协议 +1
计算机网络:HTTP报文

HTTP报文是客户端与服务器之间传输数据的"包裹",分为请求报文和响应报文两种类型。报文采用四层结构:起始行(包含请求方法或状态码)、首部(描述报文属性)、空行(分隔头部与主体)、主体(实际数据内容)。在传输过程中,HTTP报文会经历层层封装,从应用层结构体依次添加TCP头部、IP头部和MAC头部,形成网络传输的数据包。TCP协议通过序号机制确保数据传输的可靠性,解决网络传输中

文章图片
#计算机网络#http#网络协议 +1
Linux系统:管道通信

Linux系统中的管道(pipe)是一种基础进程间通信方式,分为匿名管道和命名管道。匿名管道通过pipe()创建,仅限有亲缘关系的进程使用,采用半双工单向通信,默认阻塞读写。命名管道(FIFO)通过mkfifo创建文件系统路径,允许无关进程通信,遵循与匿名管道类似的读写规则。两者核心区别在于创建方式,但均依赖内核协调数据传输,具有生产者-消费者模型特性,适用于不同场景的进程协作需求。

文章图片
#linux#运维#c++ +1
Linux:进程地址空间

这是一块虚拟地址空间的展示图地址从下往上增长下面时对应存放的数据代码段: 存放可执行代码和只读常量数据段:存放全局变量和静态变量堆区:动态地址空间,地址一般是增长的栈区:存放局部变量,地址一般是降低的内核:命令行参数argv和环境变量env等我们来用一段代码来验证图片信息是否准确我们先是输出了main函数的地址,函数也是有自己的地址的然后我们输出了两个变量的地址,分别是已初始化变量和未初始化变量我

文章图片
#linux#运维#服务器
Vue3:脚手架

这里我已经安装过了,只需要打开链接直接下载nodejs,安装直接一直下一步下一步安装完成之后我们来使用电脑的命令行窗口检查一下版本查看npm源这里npm源的地址是淘宝的源,不是官方源,因为我之前已经改了,当我们获取源数据时会从外国的源里面获取,这里我们更换一下获取源的位置这里我们将获取源数据的位置更改了比如yarn和pnpm检测是否安装成功。

文章图片
#vue.js#前端#javascript +1
到底了