2012-05-03 43 views
6

我正在使用多人游戏教程作为骨架在以下链接http://www.raywenderlich.com/3276/how-to-make-a-simple-multiplayer-game-with-game-center-tutorial-part-12中创建多玩家iPhone游戏。iPhone游戏的包尺寸限制?

随着我使用的体系结构(GameCentre对等),其中一个设备扮演着服务器的角色。我有一个问题,数据包大小的限制是什么?平均而言,我需要每次发送890字节...

+0

你可以发送很大的数据包,但你应该关心速度。当一个游戏中的快速通信很重要时,一个大包将花费更长的时间发送。一般来说,如果你的数据包在游戏中变得太大,你可能会把它分成更小的数据包,每个数据包都有自己的基本数据。 – wquist

+0

嗨,感谢您的回复,所以根据大包的定义是1k的数据包被认为相当大? – godzilla

+0

1k字节?所以像1 kB?如果你发送30个数据包/秒,那么就连接速度而言,这两种方式都是〜240 kb,所以它确实取决于目标受众。无论是通过本地,广域网,3G等,它都会有很大的差异。但对我来说,这是相当大的。这相当于每帧大约250个浮动值,或者超过100个XY位置。确保你发送的一切都是必不可少的。如果您有计算或某种逻辑事物正在发送,请尝试标准化其行为并发送一个单字节标志,说明“发生了这种情况”并执行客户端计算。 – wquist

回答

1

通常,您不应该依赖网络数据包的大小。数据包可以被分段(通过TCP/IP由堆栈重新组装),或者根据发送/接收参数的MTU分组数据。

+0

感谢您的回复,我担心有一个大小的阈值,如果超过的数据将不会在另一端收到? – godzilla

+0

不是。您的数据将被网络堆栈打包并在另一端重建。你不必做任何事情。唯一的限制是带宽,因为移动电话可能处在一个接收不好的地方。只要确保你正确处理错误。 – Zepplock

1

Game Kit Programming Guide

  • 极限不可靠的消息的大小为1000个字节或小型化。
  • 将可靠消息的大小限制为87千字节或更小。