【发布时间】:2014-01-04 15:07:06
【问题描述】:
嘿!
我现在尝试使用 boost asio 发送数据包,并将数据包数据存储在 boost 数组中。 在我通过动态分配的字符数组发送它之前。
我通过boost::array<char, 5824>声明数组
我通过 boost asio(同步)发送它。 但问题是当客户端接收数据包时,大约 1000 个第一个字节是可以的,但其他包含随机数据。
我在那里做错了什么? 我尝试了不同的组合,但结果是一样的。 谢谢!
编辑
我在通过方法array.data()获得的数组指针上通过memcpy填充数据;
例如memcpy(array.data()+10, &chararray, 15);
数据由boost::asio::write(socket_, boost::asio::buffer(array));发送
【问题讨论】:
-
你是如何发送数据的?
-
请向我们展示您用于填充和发送数组的代码。如果可能,请提供SSCCE
-
我添加了用数据填充它的示例,并发送函数。
-
@Mgetz 谢谢你的帮助!当我将其更改为 std::array 时,它开始工作;)。但它似乎仍然有随机字节。
-
@user3126089 我已对答案发表评论