gpt4 book ai didi

network-programming - 如何确保 UDP 服务器不会丢失传入数据?

转载 作者:可可西里 更新时间:2023-11-01 02:40:24 24 4
gpt4 key购买 nike

有一个数据馈送服务器通过UDP接收来自各种客户端的馈送,因为客户端抽取数据的速度非常快,如果服务器花时间处理接收到的数据,接收缓冲区很容易变满,所以

  1. 如果 feed 服务器有帮助只是多播它收到的所有数据到 LAN 上的其他服务器数据馈送服务器有第二个网卡连接到?其他每一个服务器只接收数据担心处理和离开其他数据到其他服务器。
  2. 如果传入数据仍然到达太快了,有什么攻略确保不会丢失任何数据?

谢谢。

最佳答案

一些可以尝试的策略包括

  • 确保接收进程在接收线程中做很少的事情,只需读取数据并将其发送到内部队列以供另一个线程处理 - 这应该会减少接收缓冲区填满的可能性
  • 在您的消息中包含一个序列号。如果接收方注意到一条丢失的消息,它可以向发布者重新请求它。此重新请求将非常昂贵,但一般情况下会非常快。这假定发布者要么在内存中保留合理数量的已发布消息(以允许重新请求),要么将它们保存在某处以应对重播。

关于network-programming - 如何确保 UDP 服务器不会丢失传入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2033265/

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