首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket中数据的递归处理?

socket中数据的递归处理?
EN

Stack Overflow用户
提问于 2016-02-24 18:36:44
回答 2查看 143关注 0票数 0

在使用boost asio read_some()处理来自服务器的数据时,我遇到了一个问题。

数据格式: 83,数据长度,数据

问题:

我正在从服务器接收分组,其中分组可以有单个数据,也可以有多个数据。此外,在某些情况下,我可以在2-3个数据包中接收单个数据。虽然我已经为同样的问题编写了迭代逻辑,但我想知道some1是否可以为这种类型的问题提供递归逻辑。我对递归不是很有信心,因此非常感谢你的帮助。

另外,另一个问题是,如果使用boost asio read_some()读取数据,最大长度是1500字节?

EN

回答 2

Stack Overflow用户

发布于 2016-02-25 15:43:43

根据评论,我认为递归在这里不是一个好的选择,我必须坚持我的迭代方法。感谢every1的及时回复/建议

票数 1
EN

Stack Overflow用户

发布于 2016-02-24 20:47:41

将数据分成两个缓冲区,一个用于原始数据,一个用于完整的数据包队列。

有一些东西将此联系起来:

代码语言:javascript
复制
while(true) {
    receive data from socket
    append data to sendBuffer
    while( sendbuffer contains a complete packet) {
        move packet to packetQueue();
        removePacket from sendbuffer;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35599704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档