Bri*_*ndy 5 c++ boost boost-asio
你能在boost asio中设置SO_RCVTIMEO和SO_SNDTIMEO套接字选项吗?
如果是这样的话?
注意我知道你可以使用计时器,但我想特别了解这些套接字选项.
绝对地!Boost ASIO 允许您访问本机/底层数据,在本例中是 SOCKET 本身。那么,假设您有:
boost::asio::ip::tcp::socket my_socket;
Run Code Online (Sandbox Code Playgroud)
假设您已经调用了open
orbind
或某个实际上可用的成员函数my_socket
。然后,要获取底层 SOCKET 值,请调用:
SOCKET native_sock = my_socket.native();
int result = SOCKET_ERROR;
if (INVALID_SOCKET != native_sock)
{
result = setsockopt(native_sock, SOL_SOCKET, <the pertinent params you want to use>);
}
Run Code Online (Sandbox Code Playgroud)
所以你有它!Boost 的 ASIO 可以让您比其他方式更快地完成许多事情,但有很多事情您仍然需要普通套接字库调用。这恰好是其中之一。