¿Cuáles son algunas ideas de proyectos de programación de red para principiantes?

He trabajado en algunos de estos proyectos en algunos cursos de informática. Son, en orden creciente de dificultad:

  1. Aplicación de chat con 2 usuarios.
  2. Sala de chat con múltiples usuarios.
  3. Aplicación de transferencia de archivos que puede manejar una solicitud a la vez
  4. Aplicación de transferencia de archivos que puede manejar múltiples solicitudes a la vez con la capacidad de descargas reanudables
  5. Tabla de hash distribuida para almacenar claves y valores de manera distribuida como esa en Chord https://en.m.wikipedia.org/wiki/…
  6. Galleta de contraseña distribuida; dado un hash de una contraseña (digamos SHA1 o MD5) encuentre la contraseña por fuerza bruta; esto implicaba usar múltiples pares para actuar como trabajadores y un nodo maestro para asignar los trabajos a cada uno de ellos de manera distribuida para que la tarea pudiera ser completado más rápido
  7. Una extensión de la asignación anterior con el desafío adicional de agregar resiliencia en caso de que un trabajador fallezca o fallezca el nodo del mástil: puede hacerse aún más desafiante asignando trabajos de trozos variados al verificar cuántos recursos tiene un trabajador
  8. Una pizarra blanca de igual a igual con múltiples clientes que pueden conectarse en varios momentos
  9. Versión multijugador de Tank Wars https://en.m.wikipedia.org/wiki/…

Si recién está comenzando, recomendaría crear una aplicación de chat o un programa de transferencia de archivos.

El primero es obviamente mucho más simple, pero el segundo tampoco debería tomar demasiado esfuerzo.

Si desea hacer algo más avanzado, puede construir un simple juego de mesa o similar e implementar un modelo donde los clientes soliciten al servidor que mueva su paleta (?) Y luego haga que el servidor responda cuál debe ser la nueva ubicación de la paleta. Esto requeriría cierto esfuerzo para hacer extrapolaciones e interpolaciones precisas. En realidad, como puede saber o no, este tipo de mecanismo se basa en gran medida en los juegos de computadora en tiempo real (probablemente más notablemente en los juegos de disparos en primera persona). La razón por la que querrías implementar un esquema de este tipo es para que todo permanezca sincronizado y los jugadores no puedan hacer trampa fácilmente (aunque puede haber más de esto que esos dos solos).

Entonces, en orden de dificultad: aplicación de chat

¡Buena suerte!

Compre una computadora pequeña, no tiene que ser buena ($ 50).

Deshabilita el firewall de tu red.

Cambie el sistema operativo a Ubuntu y configure un servidor Apache o tal vez incluso un servidor de juegos