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

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

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

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

РЕДАКТИРОВАТЬ, Я пытаюсь привязать второй сокет UDP к тому же порту UDP с:

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

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

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

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