[英]sending a serialized type over a boost-asio socket connection using boost serialization
我正在尝试将 1kb 的数据从“服务器”发送到“客户端”,但我无法正确处理。 在这方面我需要做几件事:1)需要使用 boost-asio sockets 来传输数据 2)需要序列化我创建的类型(数据包),它将包含数据作为字符串或字符 *
这是发生了什么:
首先,我从服务器上的示例文本文件中获取 1kb 的数据。 我得到这个并将其放入我创建的数据包类型中。 我在 Packet 中定义了数据字段,以将这些数据保存为 std::string。 (我尝试了 char* 但效果不佳 - 请参阅下一段)。
其次,我使用 boost text_oarchive 对其进行序列化。 如果它只包含一个字符串,我对 Packet 类型进行序列化没有问题,但我真正想要的是一种将数据类型序列化为 char 数组的方法(以便它与下面的套接字更好地配合使用)
第三,我通过 boost asio 套接字发送它。 在这里我遇到了一个问题,因为我找不到通过套接字连接发送 std::string 的方法。 我作为示例和文档中看到的所有内容都需要使用某种类型的 char* 而不是字符串的缓冲区。
它只是一个头痛。 你能帮我吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.