actualizado para usar read en lugar de recv