【发布时间】:2011-08-27 19:33:09
【问题描述】:
可能重复:
How to set a timeout on blocking sockets in boost asio?
我之前读过一些关于超时的条目,但我不明白。
我想要一个定义的连接超时。 连接代码如下:
try{
boost::asio::ip::tcp::resolver resolver(m_ioService);
boost::asio::ip::tcp::resolver::query query(link.get_host(), link.get_scheme());
boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query);
boost::asio::ip::tcp::resolver::iterator end;
boost::system::error_code error = boost::asio::error::host_not_found;
while (error && endpoint_iterator != end)
{
m_socket.close();
m_socket.connect(*endpoint_iterator++, error);
}
}
我也想要读取超时。
我使用boost::asio::read_until(m_socket, response, "\r\n"); 读取标题。
是否可以设置 SIMPLE 超时?
【问题讨论】:
-
阅读how to set a timeout on blocking socket看来没有捷径可走。
标签: c++ boost timeout boost-asio