Выбор зависит от типа игры.
Обычно, делается отдельно:
1. Обработка для юникаст-соединений (шлём сразу нескольким клиентам). Создаём один бесконечный поток. При получении - обрабатываем также в одном едином потоке.
2. Обработчик клиент-серверного обмена (данные, не влияющие на игровой процесс других игроков). Создаём "умирающие" экземпляры потоков. Обрабатываем в отдельных потоках.