Используйте тот же сокет udp для асинхронного приема / отправки

Я использую тот же сокет в моем сервере udp для получения данных от клиентов на некотором порту, и позже после обработки запросов отвечаю клиентам, используя ip :: ud :: socket :: async_send_to

Прием также выполняется асинхронно с async_receive_from. Сокет использует тот же ioService (в конце концов, это один и тот же сокет) В документации четко не указано, можно ли в одно и то же время иметь один и тот же сокет udp, получать дейтаграммы от клиента A (асинхронно) и, возможно, одновременно отправлять другую дейтаграмму клиенту B (асинхронная отправка) Я подозреваю, что это может привести к проблемам. В итоге я использовал тот же сокет для ответа, потому что не мог привязать другой сокет к тому же порту сервера при ответе на другой клиент.

Как я могу привязать другой сокет к тому же порту сервера?

EDIT, Я пытаюсь привязать второй сокет UDP к тому же порту UDP с:

socket(ioService, boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), port))

Когда я делаю это в первый раз (привязка для сокета сервера «прием»), все в порядке, но во второй раз я пытаюсь создать другой сокет, как будто он сообщает об ошибке при привязке (исключение asio выдает)

Ответы на вопрос(1)

Ваш ответ на вопрос