Единственный способ связать несколько сокетов с портом в TCP - это прослушать, а затем принять.
Цель в этом случае состоит в том, чтобы дать каждому входящему клиенту уникальный сокет, чтобы разделить их потоки байтов.
Вам не нужно это в случае UDP, потому что нет потоков байтов. Вы можете написать весь сервер UDP, используя один сокет UDP. Вы просто читаете, отправляете обработчику для этого клиента, обработчик записывает ответ через тот же сокет.