如何序列化对象以通过网络发送

2023-11-21

我正在尝试仅使用 STL 序列化对象以通过套接字通过网络发送。我没有找到一种方法来保持对象的结构在其他主机中反序列化。我尝试转换为string, to char*我花了很长时间在互联网上搜索教程,但到目前为止我什么也没找到。

有没有办法只用STL来做?

有什么好的教程吗?

我几乎想尝试boost,但如果有如何用STL 做到这一点我想学习。


你可以对任何东西进行序列化。所有序列化意味着您将对象转换为字节,以便您可以通过流(如std::ostream)并与另一个(例如std::istream)。只需覆盖operator <<(std::ostream&, const T&) and operator >>(std::istream&, T&) where T是你的每一种类型。以及您的类型中包含的所有类型。

然而,您可能应该只使用一个已经存在的库(Boost 非常好)。像 Boost 这样的库可以为您做很多事情,比如字节排序、处理常见对象(比如数组和标准库中的所有内容)、提供执行序列化的一致方法以及大量其他内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何序列化对象以通过网络发送 的相关文章

  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 将完整模板参数值映射到原始类型

    我想将数字映射到类型 在这个例子中 我将创建一个函数 将 sizeof 结果映射到有符号的原始类型 我想知道是否有更好的方法来完成我在现代 C 中所做的事情 即采用模板化值并将其转换为类型 现在 这可以将大小转换为已知类型 但我似乎无法在标
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 是否存在指向不同类型的指针具有不同大小的平台?

    C 标准允许指向不同类型的指针具有不同的大小 例如sizeof char sizeof int 是允许的 但是 它确实要求如果将指针转换为void 然后转换回其原始类型 它必须与其原始值进行比较 因此 从逻辑上来说 sizeof void
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • bash "&" 不打印 "[1]+ Done "

    我在 bashrc 中调用一个脚本来打印打开终端时收到的新消息数 我希望该调用在访问网络时是非阻塞的 有时需要几秒钟 这意味着我无法使用终端直到完成 但是如果我输入 mailcheck 在我的 bashrc 中 它工作正常 但然后打印一个空
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • 为什么 [-1] 不返回文件中该行的最后一个字符?

    我想打印 python 中从文件中读取的字符串的最后一个字符 我打电话作为str 1 但它没有按预期工作 t txt 包含 Do not laugh please 9 Are you kidding me 4 我的代码是 with open
  • 如何使用 FLAG_GRANT_READ_URI_PERMISSION 授予对自定义内容提供程序的临时访问权限

    我正在尝试从另一个应用程序 应用程序 B 查询自定义内容提供程序 应用程序 A 当内容提供商没有权限保护时我可以这样做 具体来说 我在应用程序 A 上构建自定义内容提供程序 并将包含 URI 的意图发送到应用程序 B 这是App A中的意图
  • GCM 无效发件人错误

    我被一个神秘的问题困扰了一段时间 所以我在我的 Android 应用程序中实现了 GCM 但收到 INVALID SENDER 错误 我的SENDER ID是来自google项目的url的id Android 推送通知已开启 奇怪的是我已经
  • 如何卸载Python和所有包

    我希望卸载 Python 2 7 以及与其连接的所有包 我最初从官方网站安装了Python 并使用 pip install 命令安装了所有软件包 从控制面板卸载Python也会自动卸载所有包吗 我之所以要卸载Python 是因为我想使用An
  • 避免在 Kubernetes 中为一个 cron 执行点运行多个 cron 作业

    编辑 问题已解决 这是我的错误 我只是使用了错误的 cron 设置 我假设 2 每天只会在 2 点运行一次 但实际上它在 2 点之后每分钟都会运行一次 因此 Kubernetes 的行为是正确的 我一直在一个 cron 执行点运行多个作业
  • 如何使用 scipy.ndimage.filters.gereric_filter?

    我正在尝试使用 scipy ndimage filters generic filter 来计算邻域的加权和 邻域在某些时候会发生变化 但目前我正在努力实现 3x3 到目前为止 这就是我所在的地方 def Func a a np resha
  • Swift 中的数字四舍五入到小数点后两位

    我得到了一个数字值 我试图将其转换为小数点后两位 但是当我转换它时 结果变为 0 00 数字是这样的0 24612035420731018 当得到它的 2f 值时 它显示 0 00 我尝试过的代码是这样的 let digit FindRes
  • 如何获取外键引用的表

    我有一个小问题 但尚未找到答案 如何在 C 中使用 Microsoft SqlServer Smo 外键列所引用的表 foreach Column column in currentTable Columns if column IsFor
  • 如何压缩两个非连续的提交?

    我对 git 中的整个变基功能有点陌生 假设我做出了以下承诺 A gt B gt C gt D 后来我意识到D包含一个修复程序 该修复程序依赖于添加的一些新代码A 并且这些提交属于一起 我该如何压扁A D一起离开B C alone 你可以运
  • 如何从 LLVM 中的 CallInst 获取间接调用的函数名称

    Function fun call gt getCalledFunction getCalledFunction 如果是间接调用则返回 null 如何获取函数的名称或指针的名称 我发现Stack Overflow中与此问题相关的所有问题都谈
  • 在gradle中使用目标sdk版本23时,ZBAR条码扫描库不工作

    我在我的项目中使用 zbar 扫描仪库 更新到 sdk 23 后 棉花糖扫描仪无法工作 以下是 gradle 文件 扫描仪正在工作 如果我将 targetSdkVersion 设置为 23 以外的任何值 以下是gradle文件 apply
  • 按下按键后防止光标隐藏在浏览器中

    我知道在大多数浏览器 最新一代 中 当您输入 A 或空格等任何键时 鼠标光标会隐藏 这是为了让用户看到他输入的内容 一旦您将鼠标移动一个像素 光标就会恢复可见 现在问题来了 这种情况在浏览器中随处可见 即使我关注的是 div 等非输入元素
  • JavaFX 中需要使用 gradle 来定位

    我越来越 java lang NullPointerException 位置是必需的 当我使用 gradle 和 javafx 插件组装后运行我的程序时 如果我从 IntelliJ Idea 运行它 一切都很好 Java源文件和 fxml位
  • Haskell hoogle 通过 cabal 安装,但未找到 hoogle 命令

    hoogle hoogle 4 2 36 安装过程看起来很成功 除了在命令行输入 hoogle 时 它会抱怨 hoogle 找不到命令 在两台机器上尝试过这个 都运行 MAC OS X Yosemite 它们以完全相同的方式失败 有什么建议
  • 非常大的集合的 SQLAlchemy 集合成员资格

    我的 SQL 查询可以非常简单地写为 result session query Table filter Table my key in key set The my key整数列已建立索引 主键 但是key set确实可能非常大 有数千万
  • Linux (Ubuntu 11.10) 中的 Matlab 在绘图中不显示 Unicode(希伯来语)

    我尝试在 Ubuntu 上的 Matlab 图形图中使用希伯来字符 但没有成功 我试过 text 0 6 0 5 fontname times new roman rotation 180 fontsize 50 color r and t
  • 验证器中的 HTML 开始标记有误?

    我正在尝试验证此 HTML 文档http validator w3 org validate by input但我收到以下错误 第 3 行 第 47 列 杂散开始标记 html 第 4 行 第 47 列 杂散开始标记 html 第 5 行
  • 简短的 IF - ELSE 语句

    我试图使我的代码更具可读性 因此我决定使用一些简短的 IF 语句 这是我的代码 它不起作用 不是声明 jXPanel6 isVisible jXPanel6 setVisible true jXPanel6 setVisible false
  • ElasticSearch:搜索嵌套数组中的字段

    我对 ES 相当陌生 正在将它用于我的一个新项目 首先 我有一个客户的简单映射 其中包含名字和姓氏以及支付信息对象列表 如果我在 SQL 中执行此操作 它将类似于客户表和具有一对多关系的付款信息表 这是我正在尝试做的一个简单示例 https
  • 如何序列化对象以通过网络发送

    我正在尝试仅使用 STL 序列化对象以通过套接字通过网络发送 我没有找到一种方法来保持对象的结构在其他主机中反序列化 我尝试转换为string to char 我花了很长时间在互联网上搜索教程 但到目前为止我什么也没找到 有没有办法只用ST