gpt4 book ai didi

C++ 游戏应用程序 UDP 与 TCP

转载 作者:行者123 更新时间:2023-11-28 06:43:00 25 4
gpt4 key购买 nike

我正在制作一个实时应用程序。我不能说太多,但它是一个在线实时应用程序,需要尽可能少的延迟。我正在使用套接字,没有库。我还需要完整的带宽。我应该使用 TCP 还是 UDP?我不介意多编写一些程序来让 UDP 工作。提前致谢。

最佳答案

取决于客户端连接的性质。

TCP 是有状态 session 。如果您同时连接了很多客户端,您可能会遇到端口耗尽的问题。如果客户端频繁连接和断开连接,建立和断开 TCP session 会增加延迟、CPU 负载和带宽。如果您的客户端连接或多或少是永久性的并且同时连接的客户端不多,则 TCP 仅比 UDP 稍差。

UDP 更适合低延迟通信。然而,当心 NAT 防火墙 - 并非所有防火墙都能够或设置为 UDP 地址映射。

另请注意,TCP 是一个流,因此不提供消息打包。您的应用程序必须以额外的开销从 TCP 流组装数据包。

根据定义,UDP 是一个完整的消息,即作为已发送的数据包到达。请注意,无法保证交付,应用程序可能需要提供确认和重新发送层。

关于C++ 游戏应用程序 UDP 与 TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25587707/

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