title: Use same udp socket for async receive/send
body: <p>I use the same socket in my udp server in order to receive data from clients on some port, and later after processing of requests respond to to clients using ip::ud::socket ::async_send_to</p>
  
  <p>Receive is done async with async_receive_from also. The socket uses same ioService (it's the same socket after all)
  The documentation does not state clearly if one can have at a moment the same udp socket receive datagrams from client A (in async way) and possibly send another datagram to client B (async sent) at the same time
  I suspect this could lead to problems. I ended up using same socket for reply because I could not bind another socket to the same server port while replying to another client.</p>
  
  <p>How can I bind another socket to the same server port?</p>
  
  <p><strong>EDIT</strong>. I try to bind the second udp socket to the same UDP port with:</p>
  
  <pre><code>socket(ioService, boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), port))
  </code></pre>
  
  <p>When I do this first time (binding for server "receive" socket) it's OK but trying to create another socket the second time like that it reports error at bind (asio throws exception)</p>