Como probar una conexion UDP

Iniciado por Vaagish, 3 Marzo 2015, 00:43 AM

0 Miembros y 1 Visitante están viendo este tema.

T. Collins

Cita de: Vaagish en  3 Marzo 2015, 21:10 PM
Esta parte si me dejo dudas: Debería de ordenar los paquetes e indicar de que jugador pertenece X paquete?

Depende de como sea el juego, eso tendrás que decidirlo tú según las necesidades y la estructura.

eferion

Ordenar paquetes quizás no tenga sentido en el caso que comentas. Lo que puedes hacer es poner un contador incremental en cada paquete. Entonces, lo que tienes que hacer es almacenar el id del último paquete recibido... si recibes un paquete con un identificador anterior, lo descartas sin miedo.

También puedes, para evitar desbordamientos del contador, usar una ventana de descartes. Por ejemplo, si recibo el identificador X se que he de descartar automáticamente los 10.000 mensajes anteriores, si recibo un mensaje con cualquier otro id entonces lo tomo como válido.

Otra opción para evitar el desbordamiento es usar la fecha y la hora en lugar de un contador, pero esta solución implica algo más de código.

Por otro lado, si no pasa nada porque se pierda algún paquete es preferible usar UDP, ya que es mucho más versátil y lo puedes adaptar a cualquier necesidad. Además, piensa que, en general, un paquete se perderá únicamente si hay sobrecarga en la red, lo cual no suele ser algo tan extremadamente común.

Un saludo.

Vaagish

CitarTambién puedes, para evitar desbordamientos del contador, usar una ventana de descartes. Por ejemplo, si recibo el identificador X se que he de descartar automáticamente los 10.000 mensajes anteriores, si recibo un mensaje con cualquier otro id entonces lo tomo como válido.

Eso me gusta.. y podría almacenar datos (movimientos, disparos, acciones) previas de cada jugador.. aunque no es quizá tan necesario..

Usando la hora también me gusta, pero supone una carga mas para el host.. tener que revisar la hora por cada jugador, comparar, etc..

CitarDepende de como sea el juego, eso tendrás que decidirlo tú según las necesidades y la estructura.

El juego es de aviones, tiene misiones y (si todo sale bien con udp) modo versus

Ya lo tengo medio completo el test, gracias por las respuestas!

Saludos!