#include <winsock2.h>
#include <iostream>
#include <string>
#include "GestionErreurs.h"
#include "SingletonGestionnaireSockets.h"
#include "SocketClientFlot.h"

int main ()
{
   const std::string IP_DU_SERVEUR = "127.0.0.1"; // le loopback; choix arbitraire
   const short PORT_DU_SERVEUR = 4321;
   const std::string MESSAGE_A_ENVOYER = "Ça marche!";

   SocketClientFlot scf (IP_DU_SERVEUR, PORT_DU_SERVEUR);

   unsigned int NbOctetsEnvoyes = scf.Envoyer (MESSAGE_A_ENVOYER);

   // Affichage des résultats de l'envoi
   std::cout << "Envoi réussi de "
             << NbOctetsEnvoyes
             << " octets, délimiteur inclus. Message transmis: \""
             << MESSAGE_A_ENVOYER
             << "\""
             << std::endl;

   std::string MessageRecu;
   unsigned int NbOctetsRecus = scf.Recevoir (MessageRecu);
   // Affichage des résultats de la réception
   std::cout << "Réception réussie de "
             << NbOctetsRecus
             << " octets, délimiteur inclus. Message reçu: \""
             << MessageRecu
             << "\""
             << std::endl;

   // Pour éviter une fermeture trop brusque
   char c;
   std::cin >> c;
}