Selon le documentation de boost::asio::ip::tcp::resolver::query
afin de résoudre hôte, il devrait également recevoir le service . Et si je veux résoudre l'hôte sans relation avec le port? Comment dois-je le faire du tout? Devrait je spécifie le port factice?Comment résoudre l'hôte (seulement) en utilisant Boost.Asio?
6
A
Répondre
7
Dans one post in the boost mailing list quelqu'un d'autre semblait le faire comme ça (copié, reformaté, numéro de service a changé, rien d'autre):
namespace bai = boost::asio::ip;
bai::tcp::endpoint ep(bai::address_v4(0xD155AB64), 0); // 209.85.171.100:0
boost::asio::io_service ios;
bai::tcp::resolver resolver(ios);
bai::tcp::resolver::iterator iter = resolver.resolve(ep);
bai::tcp::resolver::iterator end;
while (iter != end)
{
std::cerr << (*iter).host_name() << std::endl; // cg-in-f100.google.com
++iter;
}
Comme vous avez dit correctement, voici un service est encore passé, mais un pas dans le code Boost.Asio a révélé ce (en resolver_service.hpp
, j'utilise le vieux plutôt 1,36 version):
// First try resolving with the service name. If that fails try resolving
// but allow the service to be returned as a number.
Alors, rendez-vous avec 0, et il devrait faire ce que vous voulez.
Questions connexes
- 1. boost.asio, comment lire un paquet IP complet en utilisant asio
- 2. reliant boost.asio
- 3. Communication synchrone Boost.Asio
- 4. Comment télécharger le fichier en utilisant WPF seulement
- 5. Résoudre l'adresse IP au nom d'hôte en utilisant PHP
- 6. Comment échapper seulement "'" en PHP?
- 7. Javadoc seulement une classe dans un paquet en utilisant Ant
- 8. Obtenir seulement une partie de la ligne en utilisant awk
- 9. Comment dessiner un bitmap réel rapide en python en utilisant Tk seulement?
- 10. rechercher le texte utilisant seulement Java
- 11. Comment puis-je résoudre ce problème en utilisant une requête sql
- 12. Comment générer un Makefile avec la source dans les sous-répertoires en utilisant seulement un makefile
- 13. Comment lire seulement x nombre d'octets du corps en utilisant Net :: HTTP?
- 14. Comment puis-je trier un ListBox en utilisant seulement XAML et aucun code-behind?
- 15. Comment afficher Durée seulement Heures: Minutes: Deuxième dans Gridview Asp.Net en utilisant LINQ to SQL?
- 16. sprites apparaissent en bleu en utilisant 2d-cocos iphone, mais seulement dans le simulateur
- 17. traitement des données en HTML sans code de serveur (en utilisant seulement Javascript)
- 18. Comment résoudre une erreur de liaison?
- 19. Comment résoudre cette exception WCF?
- 20. ORA-4030 Oracle: Comment résoudre
- 21. Comment résoudre l'erreur synciwam.vbs 1B6?
- 22. Comment résoudre ce problème bad_alloc?
- 23. Comment résoudre ce problème UITextView
- 24. Comment boost.asio peut-il identifier le port sur lequel mon application serveur écoute?
- 25. En C#, comment puis-je résoudre l'adresse IP d'un hôte?
- 26. Comment puis-je résoudre ce problème impliquant BackgroundWorkers en C#?
- 27. Oracle: Comment retourner un résultat partiel seulement?
- 28. Catch seulement quelques erreurs d'exécution en Python
- 29. Comment résoudre le cas lorsque les utilisateurs surfent sur index.php
- 30. Résoudre les variables d'environnement Windows en PHP
Prenez un pas que vous utilisez le numéro de port "ep (bai :: adresse_v4 (0xD155AB64), 80); // 209.85.171.100:80" – Artyom
J'ai légèrement révisé l'exemple, j'espère que cela aide. – gimpf