Je suis en train d'exécuter du code ci-dessous:blocs async_connect io_service :: run_one() en boost :: asio
some_sock.async_connect(...); // handle_connect() sets the 'condition' flag
boost::asio::deadline_timer t(ios, boost::posix_time::seconds(2));
while (t.expires_from_now() >= boost::posix_time::seconds(0))
{
ios.run_one();
if (condition) return;
}
comportement est Souhaitable retour de run_one() après la temporisation T est expiré (au bout de 2 secondes) . En fait, run_one() bloque jusqu'à ce que SYN-ACK ou RST soit reçu. Si le serveur ne répond pas, run_one() bloquera pendant plus de 2 secondes.
Que dois-je faire pour attendre la durée spécifiée pour que la connexion effectue un travail en arrière-plan?
Merci.
Merci. t.async_wait (boost :: bind (empty_function())); résolu le problème. – excitoon