Multiplexar y Concurrencia son conceptos diferentes, que si bien pueden ser aplicados en conjunto son diferentes en esencia.
Anoto eso
Aplicación web tiene hoy en día muchos significados. Anteriormente quería decir que el cliente hacía una solicitud y el servidor se la daba. De hecho, eso es lo que sigue ocurriendo en la inmensa mayor parte de los casos, cuando pedimos una página web.
Bueno, estamos tratando con cliente/servidor de transporte de datos, no sólo archivos también referencias que suceden en tiempo real (literalmente es un controaldor remoto) uso el termino aplicación (depronto con mal uso
si se toma literal) por unos libros (uno literatula, el otro del arte del exploit aunuqe realmente mucho sobre redes y no tanto de seguridad).
¿cómo sabrá el servidor a qué fork se corresponde cada petición que le llegue?
Pues...
se trabaja con objetos, cada conexión tiene un identificador y cada conexión se trabaja por separado en el servidor, tiene funciones dadas y diferentes.
¿Cómo evitaremos que le lleguen al servidor peticiones mezcladas?
No se hace, es la idea, estoy trabajando una unidad (Je, je unidad que ironico) poco usual, tal como decís se programa más en el cliente que en el servidor en cuanto a red, mi idea del "protocolo" es:
se crea un conexion (clieta a servidor).
En el cliente se transmite multiples comandos Cliente--<>-Servidor.
Nótese: llamo a comando un par de palabras claves para identificar acciones, no comandos de programas
Se fectua una acción.
--------------------------
Se ve muy elemetal pero es que no se como explicar, se tiene que hacer en "multiples conexiones" ya que se harán diferentes cosas al mismo tiempo como pasar archivos y mandar datos de programas corriendo.
La cosa es que la conexión en si es una, el "connect(Socket, ....)' es uno, un filehandle, un puerto pero multiples peticiones.
Cuando me trato de imaginar solo veo una petición esperando a que la otra termine.
Quizá no me expresé bien, realmente es una conexión que manda muchos "deseos".