2012-05-24 11 views
6

Recientemente desarrollé un juego multijugador en línea y está funcionando bien. Hay un servidor central que maneja las conexiones TCP con los clientes, y ambos reciben y envían datos.
¿Hay una manera de verificar que los datos enviados no se ha modificado antes de que el receptor lo lee?
¿Una conexión TCP lo maneja de alguna manera? Si no, ¿cuál es la mejor manera (no pedir código) para implementarlo?
Por ahora me ocurrió con esas ideas:¿Cómo verificar la integridad de datos entre la conexión cliente-servidor?

  • modificar los datos enviados añadiendo algún tipo de verificar el valor, como la longitud del paquete.
  • Cuando se recibe un paquete, pedir al servidor para enviar de nuevo y comprobar si son iguales.

He buscado una solución común utilizada pero no pude encontrar mucho.
La encriptación debería ser mi última opción.

Editar
Para una forma sencilla de conseguir esto:

  1. MD5
  2. SH A1
  3. SSL
+5

modificada por un hacker o por el ruido/error? TCP/IP se ocupa de esto último, no de lo primero. –

+0

¿Te importaría explicar brevemente cómo sucede? – mastaH

+2

Haga una pausa en los datos y agregue el valor hash a los datos que envíe. La persona en el otro extremo debe verificar si el hash coincide o no con el de los datos que recibe. Eso debería encargarse de los errores de ruido. – eboix

Respuesta

5

convenido con Bart, es posible que desee buscar en el uso de un método de hash de verificación de datos.

Cuestiones relacionadas