目前,我正在使用Boost Asio通过TCP连接到服务器。如何避免程序退出后连接拒绝与升压Asio和C/C++
我使用一个条件案例来决定应用程序是否必须启动或不与服务器建立连接;它的伟大工程,但问题是,如果我尝试连接到服务器时,服务器关闭,然后应用程序崩溃给这个错误:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
what(): Connection refused
这是我使用的代码:
case CONNECTION:
// Connect to the server
using boost::asio::ip::tcp;
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(tcp::v4(), server, boost::lexical_cast<string>(porta));
tcp::resolver::iterator iterator = resolver.resolve(query);
tcp::socket s(io_service);
s.connect(*iterator);
我想保持活动我的应用程序的正常行为,只提示有关连接失败的警告。
我该如何处理这个异常?
+1提到两种方式来处理错误。 – 2011-06-06 13:05:27