title: How to create a Boost.Asio socket from a native socket?
body: <p>I am merely trying to create a boost <code>ip::tcp::socket</code> from an existing native socket. In the <a href="http://www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/reference/basic_stream_socket/assign.html" rel="noreferrer">assign function</a>, the first parameter must be a "protocol_type" and the second must be a "native_type", but it never explains what these are or gives an example of its use.</p>
  
  <p>I'm guessing the second should be the socket descriptor, but I'd really appreciate clarification.</p>
  
  <pre><code>void SendData (int socket, std::string message)
  {
      boost::asio::io_service ioserv;
      boost::asio::ip::tcp::socket s(ioserv);
      s.assign(/* what goes here? */, /* ..and here? */);
      s.send(boost::asio::buffer(message));
  }
  </code></pre>