2
我有这段代码。我如何将我的方法resolve_handler与预期的迭代器和错误参数绑定在一起?这是否是打破连接逻辑的正确方法?使用boost :: asio将resolve_handler绑定到解析器async_resolve
void FileClient::start()
{
try {
boost::asio::ip::tcp::resolver::query query("ip", "port");
resolver_.async_resolve(query, boost::bind(
&FileClient::resolve_handler, this
));
}
catch (std::exception& e)
{
std::cerr << "Exception: " << e.what() << "\n";
}
}
void FileClient::resolve_handler(const boost::system::error_code &_error,
boost::asio::ip::tcp::resolver::iterator _it)
{
if (!_error)
socket_.async_connect(*_it, boost::bind(
&FileClient::connect_handler, this, boost::asio::placeholders::error
));
else
std::cerr << "resolve_handler error: " << _error << std::endl;
}
它的工作,不知道为什么我卡在这里,谢谢(看来我不能接受或关闭qn)。 – 2011-05-17 11:39:03