【发布时间】:2016-02-24 10:36:43
【问题描述】:
在使用 boost asio read_some() 处理来自服务器的数据时,我遇到了一个问题。
数据格式为:83,datalength,data
问题:
我正在从服务器接收数据包,其中数据包可以包含单个数据或多个数据。 此外,在某些情况下,我可以接收 2-3 个数据包中的单个数据。 虽然我已经为此编写了迭代逻辑,但我想知道 some1 是否可以为此类问题建议递归逻辑。 我对递归不是很有信心,因此非常感谢您的帮助。
另外,另一个问题,如果使用 boost asio read_some() 读取数据的最大长度是 1500 字节吗?
【问题讨论】:
-
我无法想象在这种情况下递归实现在哪里会有所帮助(甚至合理可能......)您能否详细说明您正在寻找递归方式的原因?
-
@JackWhite:好吧!! ,我只是认为使用递归来实现会更容易,因为数据正在一次又一次地处理。由于我的逻辑通过迭代方法变得非常复杂,因此正在寻求简化它。能做到吗?
-
将数据打散到队列中,监控队列内数据的有效性,当知道好时取出处理。
-
当您说递归时,您可能是在谈论 asio 的异步部分,即boost::asio::async_read()?
-
@PhilWilliams :我已经将所有传入的数据推送到向量中,并对其进行处理,但正如我提到的处理逻辑变得有点麻烦,因此正在寻找一种简单的方法来做同样的事情。跨度>
标签: c++ sockets recursion boost