Sería muy interesante que usaras hilos si pretendes que tu servidor atienda a mas de un cliente:
-Si el bucle principal tiene que cargar continuamente con muchas conexiones, las últimas de la rutina se ralentizarán.
-Si el bucle principal se muere a causa de un socket en mal estado o da excepción, perjudicas a los demás.
-Si quieres poder controlar todos uno por uno e intervenir directamente en sus rutinas de forma independiente e individual, deberías usar sockets.
Espero haberte ayudado.
Esperamos tus dudas con mucho gusto
Saludos