Sugeriría hacer lo siguiente:
- Desarrolle un encabezado de paquete propio (solo obtenga un ejemplo de algún protocolo) y póngalo en alguna estructura de datos.
- Cree un socket de sistema UDP clásico (no de boost u otra biblioteca moderna) y úselo para enviar paquetes entre el cliente y el servidor
- Implemente una lógica de confiabilidad simple: como cuando se recibe el paquete, envíe una confirmación al remitente.
- Intente enviar algunos datos con este protocolo (sobre localhost al principio).
En la práctica, necesitará tener dos métodos, que están disponibles para el usuario del protocolo: send (void * payload, size_t payloadSize) y recv (con los mismos parámetros)
El nombre de dicho proyecto podría ser: ” Implementación de un protocolo simple y confiable de transporte de datos basado en UDP ”
- Tengo mi direccion IP ¿Qué número de teléfono está conectado a él?
- Quiero publicar mi aplicación web en un servidor. ¿Qué tipo de servidor debo usar y cuál sería el costo y el mantenimiento de un servidor?
- El wifi de mi universidad ha bloqueado torrentes. ¿Hay alguna otra forma de descargar?
- Si reviso mi dirección MAC en cmd, puedo ver dos direcciones físicas, pero manualmente solo encontré una dirección MAC. ¿Cuál es el significado de la segunda dirección MAC?
- Quiero configurar una zona WiFi en la universidad. ¿Necesito un controlador WiFi y puntos de acceso? Si es así, ¿cuánto costaría configurarlo para 100 usuarios?
El uso de ps de la API de socket del sistema le dará una comprensión profunda de cómo funciona la red en los sistemas operativos modernos. Y la implementación de confiabilidad le dará una respuesta de cómo funcionan TODOS los protocolos modernos de transporte de datos (en general)