1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| void nvsnode::connectSuperNodes()
{
// On récupère la liste des SuperNodes pour s'y connecter
boost::asio::ip::tcp::resolver resolver(m_io_serv);
boost::asio::ip::tcp::resolver::query query("nodes.appli.local", "7171");
boost::asio::ip::tcp::resolver::iterator iter = resolver.resolve(query);
boost::asio::ip::tcp::resolver::iterator end
while (iter != end) // Pour chaque SuperNode
{
boost::asio::ip::tcp::endpoint endpoint = *iter++;
if(endpoint.address().to_string().compare(m_listening_endpoint.address().to_string())!=0)
{
std::cout <<"Connexion au SuperNode "<< endpoint << std::endl;
try{
connect(endpoint);
}catch(const std::exception & e){
std::cout<<"ERREUR: "<< e.what() <<std::endl;
}
}
}
}
void nvsnode::connect(tcp::endpoint& endpoint)
{
connec* new_node= new connec(m_io_serv);
new_node->getSocket().async_connect(endpoint,
boost::bind(&nvsnode::handle_connect, this,
new_node,
endpoint.address().to_string(),
boost::asio::placeholders::error)
);
std::cout<<"Connexion à: "<<endpoint<<" avec socket: "<<new_node->getSocket().local_endpoint()<<std::endl;
} |
Partager