2012-05-03 12 views
6

estoy creando un juego para varios jugadores de iPhone utilizando el tutorial de varios jugadores como el esqueleto en el siguiente enlace http://www.raywenderlich.com/3276/how-to-make-a-simple-multiplayer-game-with-game-center-tutorial-part-12.límite de tamaño de paquete para juegos de iPhone?

Con la arquitectura que estoy usando (GameCentre peer to peer) uno de los dispositivos desempeña el papel del servidor. Tengo una pregunta, ¿cuál es la limitación del tamaño del paquete? En promedio, tengo que enviar 890 bytes por vez ...

+0

Puede enviar paquetes bastante grandes, pero entonces debería preocuparse por la velocidad. Un paquete grande tardará más en enviarse, cuando la comunicación rápida es importante en un juego. En general, si sus paquetes son demasiado grandes en un juego, probablemente pueda dividirlos en paquetes más pequeños, cada uno con su propia información esencial. – wquist

+0

hola gracias por responder, por lo que por definición de un paquete grande es un paquete de 1 k considerado bastante grande? – godzilla

+0

1k bytes? Entonces, ¿como 1 kB? Si está enviando 30 paquetes/segundo, entonces eso es ~ 240 kb en ambos sentidos en términos de velocidad de conexión, por lo que realmente depende de la audiencia objetivo. Va a variar mucho ya sea a nivel local, WAN, 3G, etc. Para mí, eso es bastante grande. Eso es el equivalente de aproximadamente 250 valores flotantes, o más de 100 posiciones XY, en cada cuadro. Asegúrese de que todo lo que envía es esencial. Si tiene cálculos o algún tipo de cosa lógica que se envíe, intente estandarizar su comportamiento y envíe un indicador de un solo byte que diga "esto sucedió" y realice cualquier cálculo en el lado del cliente. – wquist

Respuesta

1

Por lo general, no debe confiar en el tamaño del paquete de red. Los paquetes pueden fragmentarse (a través de TCP/IP y volver a ensamblarse mediante la pila) o los datos se pueden empaquetar según la MTU de los parámetros de envío/recepción.

+0

gracias por la respuesta, mi preocupación es que exista un límite de tamaño que si los datos excedidos no se recibirán en el otro extremo? – godzilla

+0

No realmente. Sus datos serán empaquetados por la pila de red y reconstruidos en el otro lado. No tienes que hacer nada. La única limitación es el ancho de banda, ya que los teléfonos móviles pueden estar en un lugar con mala recepción. Solo asegúrate de manejar los errores correctamente. – Zepplock

1

por la Game Kit Programming Guide:

  • limitar el tamaño de los mensajes no fiables a 1000 bytes o menor tamaño.
  • Limite el tamaño de los mensajes confiables a 87 kilobytes o de menor tamaño.
Cuestiones relacionadas