Boost asio有socket connect api。我有这么简单的代码:
try
{
std::string addr;
std::string port;
sscanf(tcpUrl.c_str(), "tcp://%[^:]:%d", &addr, &port);
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(tcp::v4(), addr.c_str(), port.c_str());
tcp::resolver::iterator iterator = resolver.resolve(query);
tcp::socket s(io_service);
s.connect(*iterator);
Sleep(250);
s.close();
}
catch (std::exception& e)
{
return -1;
}
我想要的只是尝试连接并捕获boost :: system :: error_code连接异常。只有它。我不需要再开车了。在它上面我需要返回-1。怎么做这个?
答案 0 :(得分:6)
catch( const boost::system::system_error& ex )
{
return -1;
}
请通过const引用来抓住。