#include "connect.hpp" #include using namespace boost::asio::ip; using boost::asio::io_service; boost::asio::ip::tcp::socket connect(std::string host, std::string port, io_service& io_service) { boost::asio::ip::basic_resolver resolver(io_service); boost::asio::ip::basic_resolver_query query(host, port); boost::asio::ip::basic_endpoint endpoint; for(auto it = resolver.resolve(query); it != boost::asio::ip::tcp::resolver::iterator(); ++it) { endpoint = *it; boost::system::error_code ec; boost::asio::ip::tcp::socket socket(io_service); socket.connect(endpoint, ec); if(ec) { continue; } else { return socket; } } throw std::runtime_error("None of the supplied endpoints responded"); }