Jak utworzyć gniazdo Boost.Asio z rodzimego gniazda?

Próbuję tylko stworzyć impulsip::tcp::socket z istniejącego rodzimego gniazda. wprzypisz funkcję, pierwszym parametrem musi być „typ_protokołu”, a drugim musi być „typ_natywny”, ale nigdy nie wyjaśnia, co to jest lub podaje przykład jego użycia.

Domyślam się, że drugi powinien być deskryptorem gniazda, ale naprawdę doceniam wyjaśnienie.

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));
}

questionAnswers(1)

yourAnswerToTheQuestion