gpt4 book ai didi

c++ - 排序具有特定结构的数据包缓冲区

转载 作者:行者123 更新时间:2023-12-02 10:01:35 25 4
gpt4 key购买 nike

我需要根据SEQ编号(这是一个无符号的4字节整数),以升序对通过TCP服务器/网络传输的数据包进行排序。换句话说,我想重新排列数据缓冲区(为简单起见,我使用std::vector),以便数据按SEQ的升序排列,后面分别是CHECKSUM和LEN(长度/大小以字节为单位)。数据包,当然还有实际(字节)数据...

每个数据包都遵循以下概述的结构,并且将有重复的SEQ号(一旦我有顺序的数据,使用CHECKSUM机制验证好的数据包就不会有太多困难)。



任何想法或协助将不胜感激,如果事先得到答复,我也深表歉意。

最佳答案

根据您的问题。 vector<byte>代表您的缓冲区

以下是用于解释的伪代码。

vector<byte> buffer;
// receive data;

// packet as a struct
vector<packet> packets = extract_packet( &buffer );

sort(packets .begin(), packets .end(),
[](const packets & a, const packets & b) -> bool
{
return a.SEQ < b.SEQ;
});

关于c++ - 排序具有特定结构的数据包缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62336295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com