在使用boost asio read_some()处理来自服务器的数据时,我遇到了一个问题。
数据格式: 83,数据长度,数据
问题:
我正在从服务器接收分组,其中分组可以有单个数据,也可以有多个数据。此外,在某些情况下,我可以在2-3个数据包中接收单个数据。虽然我已经为同样的问题编写了迭代逻辑,但我想知道some1是否可以为这种类型的问题提供递归逻辑。我对递归不是很有信心,因此非常感谢你的帮助。
另外,另一个问题是,如果使用boost asio read_some()读取数据,最大长度是1500字节?
发布于 2016-02-25 15:43:43
根据评论,我认为递归在这里不是一个好的选择,我必须坚持我的迭代方法。感谢every1的及时回复/建议
发布于 2016-02-24 20:47:41
将数据分成两个缓冲区,一个用于原始数据,一个用于完整的数据包队列。
有一些东西将此联系起来:
while(true) {
receive data from socket
append data to sendBuffer
while( sendbuffer contains a complete packet) {
move packet to packetQueue();
removePacket from sendbuffer;
}
}https://stackoverflow.com/questions/35599704
复制相似问题