Rel*_*lla 6 c++ sockets boost tcp boost-asio
所以这是我的问题:我们已经有accepted
一个提升asio tcp套接字.我们所有的API都使用它.我们只需要在一个函数中执行"timeouted read".
这是可以做到这样的"timeouted读"如图所示这里.但是我从我的API获得了提升asio tcp socket,所以我想知道是否有可能将Boost :: asio socket转换为basic_socket_iostream.怎么做?
我想知道是否有可能将 Boost::asio 套接字转换为 basic_socket_iostream。怎么做?
您可以使用它来获取指向描述符的tcp::iostream::rdbuf()
指针。socket::basic_socket_streambuf
assign()
#include <boost/asio.hpp>
int
main()
{
boost::asio::io_service io_service;
boost::asio::ip::tcp::socket socket( io_service );
boost::asio::ip::tcp::iostream stream;
stream.rdbuf()->assign( boost::asio::ip::tcp::v4(), socket.native_handle() );
}
Run Code Online (Sandbox Code Playgroud)
虽然这非常复杂,但我强烈建议不要走这条路。正如拉尔夫的回答所表明的那样,以及我对您的链接问题的回答所表明的那样,您确实应该deadline_timer
为此使用 a 。
归档时间: |
|
查看次数: |
1791 次 |
最近记录: |