Giriş
Bu sınıf resolver nesnesinin query() metoduna parametre olarak geçilir. query() metodu bir endpoint döner.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız. host_name () metodu benim sistemimde "acelya dönüyor. Döndürülen endpoint'lerin port numarası 0'dır.
Şöyle yaparız. Yerel bir sunucuya bağlanmak için kullanırız.
Şöyle yaparız.
Şöyle yaparız. Yerel bir sunucuya bağlanmak için kullanırız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Bu sınıf resolver nesnesinin query() metoduna parametre olarak geçilir. query() metodu bir endpoint döner.
Örnek
Şöyle yaparız.
boost::asio::io_service ios;
boost::asio::ip::tcp::resolver resolver(ios);
boost::asio::ip::tcp::resolver::query query(server_ip, port);
auto endpoint = *resolver.resolve(query);
boost::asio::ip::tcp::socket socket (ios);
socket.connect(endpoint);
ÖrnekŞöyle yaparız.
asio::ip::tcp::resolver::query q (asio::ip::tcp::v4(), "localhost", "8082");
asio::io_service ios;
asio::ip::tcp::socket socket (ios);
asio::ip::tcp::resolver r (ios);
asio::connect(socket, r.resolve (q));
Constructor - host_name ()Şöyle yaparız. host_name () metodu benim sistemimde "acelya dönüyor. Döndürülen endpoint'lerin port numarası 0'dır.
tcp::resolver::query q (boost::asio::ip::host_name(),"");
Tüm ethernet arayüz adreslerini almak için şöyle yaparız.tcp::resolver r (ios);
tcp::resolver::query q (boost::asio::ip::host_name(),"");
tcp::resolver::iterator it=r.resolve(query);
while(it!=tcp::resolver::iterator())
{
boost::asio::ip::address addr=(it++)->endpoint().address();
std::cout<<addr.to_string()<<std::endl;
}
Çıktı olarak şunu alırız."192.168.1.2"
"192.168.1.100"
"192.168.2.1"
Constructor - hostname + portŞöyle yaparız. Yerel bir sunucuya bağlanmak için kullanırız.
tcp::resolver::query q (
"localhost", "8080");
Constructor - ip + portŞöyle yaparız.
constexpr const char *port = "9200";
constexpr const char *server_ip = "172.20.1.160";
boost::asio::ip::tcp::resolver::query query(server_ip, port);
Constructor - protocol + portŞöyle yaparız. Yerel bir sunucuya bağlanmak için kullanırız.
tcp::resolver::query q (tcp::v4(), "10112");
Constructor - protocol + hostname + portŞöyle yaparız.
asio::ip::tcp::resolver::query q (asio::ip::tcp::v4(), "localhost", "8082");
Constructor - url + portÖrnek
Şöyle yaparız.
std::string url = "www.stackoverflow.com";
tcp::resolver::query q {url, "80"};
ÖrnekŞöyle yaparız.
std::string const url = "www.thomas-bayer.com";
tcp::resolver::query q(url, "80",
boost::asio::ip::resolver_query_base::numeric_service);
Şu kullanım şekli tüm url + parametreler verildiği için yanlış.std::string url = "http://www.thomas-bayer.com/axis2/services/BLZService/";
tcp::resolver::query q(url,boost::asio::ip::resolver_query_base::numeric_service);
Hiç yorum yok:
Yorum Gönder