Bonjour,

Ci dessous , le bout de code utiliser pour creer mon socket ssl pour se connecter a un serveur https:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
boost::asio::ssl::stream<boost::asio::ip::tcp::socket> socket_;
 boost::asio::io_service io_service;
 
 boost::asio::ip::tcp::resolver resolver(io_service);
//argv[1] et argv[2] correspond a l'adresse et le port de serveur
 boost::asio::ip::tcp::resolver::query query(argv[1], argv[2]);
 boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve(query);
 boost::asio::ip::tcp::endpoint endpoint = *iterator ;
 boost::asio::ssl::context ctx(io_service, boost::asio::ssl::context::sslv23);
 ctx.set_verify_mode(boost::asio::ssl::context::verify_peer);
 ctx.load_verify_file("ca.pem");
 
 socket_(io_service, context)
 
 boost::asio::ip::tcp::endpoint endpoint = *endpoint_iterator;
    socket_.lowest_layer().async_connect(endpoint,
        boost::bind(&client::handle_connect, this,
          boost::asio::placeholders::error, ++endpoint_iterator));
 
................................

socket_ c'est un memebre de mon classe.
Mon probleme j'essaye a partir de socket de recuperer le endpoint relatif a cette socket ( dans une fonction memebre autre celle ou je fais la connexion), mais je ne vois pas comment je peux le faire ?

Pour info avec le socket de type boost::asio::ip::tcp::socket j'ai une fonction memebre local_endpoint() qui permet de recuperer le endpoint.


Moi je cherche a faire la meme chose , mais pour le type boost::asio::ssl::stream<boost::asio::ip::tcp::socket> .

Merci pour votre aide

Bonne journnée