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