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