我试图将1kb的数据从一个“服务器”发送到一个“客户端”,但是我无法正确地得到它。在这方面,我需要做一些事情: 1)需要使用boost-asio套接字来传输数据,2)需要序列化我创建的类型(包),该类型将以字符串或char*的形式包含数据。
下面是正在发生的事情:
首先,我从服务器上的一个示例文本文件中获得1kb的数据。我得到这个,并将它放入我创建的包类型中。我已经将数据包中的数据字段定义为std::string来保存这些数据。(我试过char*但效果不太好-见下一段)。
其次,我使用boost text_oarchive序列化它。如果数据包类型只包含一个字符串,那么序列化它没有问题,但是我真正想要的是一种用数据类型作为char数组来序列化它的方法(这样它就能更好地使用下面的套接字)。
第三,我通过一个boost asio套接字发送它。这里有一个问题,因为我找不到通过套接字连接发送std::string的方法。我所看到的示例和文档中的所有内容都需要使用某种类型char*的缓冲区,而不是字符串。
只是头痛而已。你能帮忙吗?
https://stackoverflow.com/questions/6728233
复制相似问题