Boost Asio имеет такой разъем подключения 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. Как это сделать?