【发布时间】:2017-12-13 09:32:53
【问题描述】:
我有一个 boost socket,我在上面定义了一个异步接收:
void recv() {
boost_socket->async_receive_from(
boost::asio::buffer(buffer, MTU),
endpoint,
[this](boost::system::error_code ec, std::size_t bytes) {
// Treatment...
if (event) {
Component::recv(handler);
}
}
});
}
但是如果没有事件到达这个套接字(套接字上没有数据包),我会被困在 lambda 方法中......
有没有办法在这个 recv 上定义超时?
【问题讨论】:
-
选择一个问题。 “定义提升
async_receive_from的超时时间”?或者“有没有办法在这个recv上定义超时?”。这些是完全不相关的不同问题
标签: c++ sockets boost boost-asio