首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用boost序列化通过boost-asio套接字连接发送序列化类型

使用boost序列化通过boost-asio套接字连接发送序列化类型
EN

Stack Overflow用户
提问于 2011-07-18 02:45:32
回答 1查看 2.2K关注 0票数 0

我试图将1kb的数据从一个“服务器”发送到一个“客户端”,但是我无法正确地得到它。在这方面,我需要做一些事情: 1)需要使用boost-asio套接字来传输数据,2)需要序列化我创建的类型(包),该类型将以字符串或char*的形式包含数据。

下面是正在发生的事情:

首先,我从服务器上的一个示例文本文件中获得1kb的数据。我得到这个,并将它放入我创建的包类型中。我已经将数据包中的数据字段定义为std::string来保存这些数据。(我试过char*但效果不太好-见下一段)。

其次,我使用boost text_oarchive序列化它。如果数据包类型只包含一个字符串,那么序列化它没有问题,但是我真正想要的是一种用数据类型作为char数组来序列化它的方法(这样它就能更好地使用下面的套接字)。

第三,我通过一个boost asio套接字发送它。这里有一个问题,因为我找不到通过套接字连接发送std::string的方法。我所看到的示例和文档中的所有内容都需要使用某种类型char*的缓冲区,而不是字符串。

只是头痛而已。你能帮忙吗?

EN

回答 1

Stack Overflow用户

发布于 2011-07-18 13:37:33

我看到的示例和文档中的所有

都需要使用某种类型的char*而不是字符串的缓冲区。

这是正确的,尽管使用Boost.Serialization和Boost.Asio非常简单。您可以使用text_oarchiveboost::asio::streambuf序列化,然后使用套接字发送结果流缓冲区内容。

关于这个问题,请参阅这个questionmy answer,以获得更完整的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6728233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档