gpt4 book ai didi

sockets - UDP数据传输可能出现哪些错误?

转载 作者:行者123 更新时间:2023-12-02 16:53:22 31 4
gpt4 key购买 nike

我们将开发一款支持互联网多人游戏的游戏。因为它是一个交互式游戏,我知道我必须使用 UDP 来减少连接延迟,但我想知道使用 UDP 连接传递的包中可能会出现哪些错误?我到处都看到他们说 UDP 提供“尽力而为”,但没有人给出完整的解释这是什么意思。读完一些文章后,我仍然有两个问题:

  1. 是否可以发送包裹并在连接的另一端接收其中的一部分?
  2. 如果您对第一个问题的回答是正确的,接下来的包裹会发生什么?我应该等待包的其余部分,还是可以假设下一个包从我的下一个 recv 调用开始?

对于我们的游戏,我认为我们需要每秒发送 4 个大约 20 字节的数据包。

最佳答案

最常见的情况是:一侧发送消息,另一侧什么也没收到。

Is it possible to send a package and receive part of it at the other end of connection?

事实并非如此,即使消息很大并且变得支离 splinter 。与 TCP 不同,在 UDP 中,每条消息都是独立的。你要么完全得到它,要么什么也得不到。

所以你应该做的就是在循环中 recvfrom 事物并处理它们。显然,您应该使您的应用程序不受消息丢失的影响,这样丢失的消息就不会使其崩溃。

关于sockets - UDP数据传输可能出现哪些错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539916/

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