Lo que pasa es que en Socket se trabaja cada conexion por separado, es decir, se usa "un servidor para cada cliente", en cristiano seria: El servidor que has hecho es individula, puede tener X usuarios conectados al mismo tiempo pero el servidor solo trabaja con uno.
Ademas, deberias usar .zip, realmente tar + gzip pues estas hablando de *Linux asi que...