南昌高端网站制作宁波优化网站排名软件

张小明 2026/1/3 1:14:44
南昌高端网站制作,宁波优化网站排名软件,中国五大门户网站,传奇电脑版哪个好玩提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录一、应用层协议与序列化二、为什么要进行序列化与反序列化三、序列化反序列化的工具四、理解TCP为什么支持全双工五、面向字节流传输与面向数据报传输的异同面向字节…提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录一、应用层协议与序列化二、为什么要进行序列化与反序列化三、序列化反序列化的工具四、理解TCP为什么支持全双工五、面向字节流传输与面向数据报传输的异同面向字节流面向数据报附Jsoncpp一、应用层协议与序列化在实际生活中帮助我们解决实际问题满足我们日常生活需要的网络程序都是在应用层在读写数据时, 都是按字节流的⽅式来发送接收的. 如果我们要传输⼀些 “结构化的数据” 该怎么办二、为什么要进行序列化与反序列化数据格式统一不同的机器、操作系统和编程语言可能有不同的数据表示方式如字节序、数据类型的大小等。序列化可以将数据转换为一种标准格式确保发送方和接收方都能正确解析。跨平台和语言交互在分布式系统中不同的服务可能用不同的语言编写运行在不同的平台上。序列化提供了一种通用的数据交换格式使得这些服务可以互相通信。网络传输网络传输的数据必须是连续的字节序列。复杂的数据结构如树、图、对象等无法直接通过网络发送必须先转换为字节流。存储持久化将数据序列化后可以保存到文件或数据库中以便以后恢复。在双方通信中只要保证, ⼀端发送时构造的数据, 在另⼀端能够正确的进行解析, 就是可以的. 这种约定, 就是应用层协议。三、序列化反序列化的工具四、理解TCP为什么支持全双工什么是全双工半双工通信双方可以相互通信但不能同时收发数据如对讲机全双工通信双方可以同时收发数据如电话在任何⼀台主机上TCP连接既有发送缓冲区⼜有接收缓冲区这也是么⼀个tcpsockfd读写都是它的原因实际数据什么时候发发多少出错了怎么办由TCP控制所以TCP叫做传输控制协议内核缓冲区分离对比常用读取发送函数五、面向字节流传输与面向数据报传输的异同面向字节流提供可靠的、有序的、双向的字节流传输面向连接需要三次握手建立连接保证数据顺序按发送顺序到达假设对方接收缓冲区只剩10字节容量而我方发送缓冲区还有20字节内容待发送那么会发送10字节内容给对方这时报文就不完整了需要应用层来保证数据报文的完整性面向数据报提供不可靠的、无序的、独立的数据包传输无连接无需建立连接不保证顺序可能乱序到达只会发送完整的报文不会将报文分割附JsoncppJsoncpp 是⼀个⽤于处理 JSON 数据的 C 库。它提供了将 JSON 数据序列化为字符串以及从字符串反序列化为 C 数据结构的功能。安装ubuntusudo apt-get install libjsoncpp-dev Centos:sudo yum install jsoncpp-devel序列化Jsoncpp提供了多种⽅式进⾏序列化使⽤ Json::Value 的 toStyledString ⽅法#includeiostream#includestring#includesstream#includememory#includejsoncpp/json/json.hintmain(){Json::Value root;root[name]joe;root[sex]男;Json::StreamWriterBuilder wbuilder;// StreamWriter的⼯⼚std::unique_ptrJson::StreamWriterwriter(wbuilder.newStreamWriter());std::stringstream ss;writer-write(root,ss);std::coutss.str()std::endl;return0;}结果{name:joe,sex:男}使⽤ Json::StreamWriter #includeiostream#includestring#includesstream#includememory#includejsoncpp/json/json.hintmain(){Json::Value root;root[name]joe;root[sex]男;Json::StreamWriterBuilder wbuilder;// StreamWriter的⼯⼚std::unique_ptrJson::StreamWriterwriter(wbuilder.newStreamWriter());std::stringstream ss;writer-write(root,ss);std::coutss.str()std::endl;return0;}结果{name:joe,sex:男}使⽤ Json::FastWriter #includeiostream#includestring#includesstream#includememory#includejsoncpp/json/json.hintmain(){Json::Value root;root[name]joe;root[sex]男;Json::FastWriter writer;std::string swriter.write(root);std::coutsstd::endl;return0;}结果{name:joe,sex:男}反序列化使⽤ Json::Reader #includeiostream#includestring#includejsoncpp/json/json.hintmain(){// JSON 字符串std::string json_string{\name\:\张三\, \age\:30,\city\:\北京\};// 解析 JSON 字符串Json::Reader reader;Json::Value root;// 从字符串中读取 JSON 数据boolparsingSuccessfulreader.parse(json_string,root);if(!parsingSuccessful){// 解析失败输出错误信息std::coutFailed to parse JSON: reader.getFormattedErrorMessages()std::endl;return1;}// 访问 JSON 数据std::string nameroot[name].asString();intageroot[age].asInt();std::string cityroot[city].asString();// 输出结果std::coutName: namestd::endl;std::coutAge: agestd::endl;std::coutCity: citystd::endl;return0;}结果 Name:张三 Age:30City:北京
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

山东住房建设厅官网站首页杭州建设网考试信息网

5分钟搞定!微信小程序二维码生成工具终极指南:从零到专业级应用 【免费下载链接】weapp-qrcode Wechat miniapp generate qrcode image 项目地址: https://gitcode.com/gh_mirrors/wea/weapp-qrcode 想要在微信小程序中快速集成专业的二维码生成工…

张小明 2026/1/1 14:11:34 网站建设

网站有备案号吗政务公开和网站建设情况总结

第一章:R语言在量子计算中的角色与前景随着量子计算从理论走向实验与初步应用,传统编程语言如何参与这一前沿领域成为研究热点。R语言虽以统计分析和数据可视化见长,但在量子算法模拟、量子态数据分析以及教学演示方面展现出独特潜力。通过高…

张小明 2026/1/1 22:32:53 网站建设

松原网站建设哪家专业为什么做网站更新

项目:Simply Simplify Language 利用LLM简化您的机构沟通。摆脱“官僚德语”。 目录 用法项目信息 应用功能成本语言指南一些发现可读性分数如何工作?分数的含义? 项目团队贡献许可证其他免责声明 用法 您可以在本地、云端或在GitHub Codespa…

张小明 2026/1/2 5:19:26 网站建设

屯昌网站建设博客类网站怎么做

💓 博客主页:借口的CSDN主页 ⏩ 文章专栏:《热点资讯》 目录当AI开始教我做人:一个打工人在算法时代的自救指南 一、被AI支配的恐惧?不,是被李飞飞的童年吓到了 二、AI在生活里翻车的名场面 三、DeepSeek的…

张小明 2026/1/1 22:14:10 网站建设

苏州建站之家昆明参差网站

你是否曾经因为不懂编程而错失了实现创意的机会?是否羡慕那些能够快速搭建网站、开发应用的技术达人?现在,这一切都将改变!开源工具让编程零基础的你也能轻松开发应用,无需编写任何代码就能实现复杂功能。这些无代码开…

张小明 2026/1/1 19:36:44 网站建设