gpt4 book ai didi

c++ - UDP数据包排列

转载 作者:搜寻专家 更新时间:2023-10-31 00:18:00 25 4
gpt4 key购买 nike

我已经使用 Boost C++ 实现了一个 P2P 应用程序。如您所知,UDP 不保证数据包顺序甚至数据包传递,所以这就是我的想法:

将一个请求的所有接收到的 UDP 数据包放在一个链接列表中,并正确排序,以便以可靠的方式识别序列和丢失的数据包。链接列表是使用结构制作的。

-或者-

我想把它放在一个 vector 中,然后在一个单独的线程中安排 vector 中的数据包。

哪种方法最好?或者除了窗口滑动之外,您还有其他最好的方法吗?

最佳答案

与其实现自己的容器或排序,不如使用标准库中已有的东西?

例如,您可以使用 std::map以序列号为键。它会自动按键排序。

或者您可以使用 std::priority_queue使用您自己的比较函数来检查序列号。

您还应该查看 UPnP NAT traversal .

关于c++ - UDP数据包排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858092/

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