【发布时间】:2011-09-24 15:20:47
【问题描述】:
我们将开发一款支持互联网多人游戏的游戏。因为它是一个交互式游戏,我知道我必须使用 UDP 来减少连接延迟,但我想知道使用 UDP 连接传递的包中可能发生的错误是什么?在我所见的任何地方,他们都说 UDP 提供了“尽力而为”,但没有人给出完整的解释这是什么意思。在阅读了一些文章后,我仍然有两个问题:
- 是否可以在连接的另一端发送一个包并接收它的一部分?
- 如果您对第一个问题的回答是正确的,接下来的包裹会发生什么?我应该等待包裹的其余部分,还是可以假设下一个包裹从我的下一个
recv电话开始?
对于我们的游戏,我认为我们需要每秒发送 4 个大约 20 字节的包。
【问题讨论】:
-
如果可能,尝试将这四个包合二为一。开销会更小。
-
我认为“数据包”是指“包”而不是“包”或可以分割成多个数据包的消息?
-
请考虑您对最小数据包大小的保证,这允许您在每次更新时发送更多信息:stackoverflow.com/q/1098897/175849
标签: sockets udp client-server