The same thing happens as without Boost ASIO:
call two async_send operations at the same time in the UDP socket.
Both datagrams will be sent.
calling two async_receive operations on a UDP socket simultaneously.
Arbitrarily, what operation will receive the next datagram, but both operations will behave normally.
calling two async_send operations at the same time on a TCP socket.
Data may alternate unpredictably.
calling two async_receive operations simultaneously on a TCP socket.
Data may alternate unpredictably.
source share