Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sockets asynchrones

Comment faire

    30 septembre 2008 à 13:34:23

    Bonjours,
    Je fais actuellement un programme en C++, et j'aimerai y ajouter la possibilité de le faire fonctionner en réseau, mais voilà: Une communication synchrone ne suffit pas.

    J'utilise la version express 2005 de visual studio sous Windows, et la librairie Winsock2.
    Le serveur peut fonctionner très simplement, il reçoit une valeur et suivant celle-ci il envoie une réponse à un ou plusieurs clients.
    Le client par contre doit à la fois pouvoir envoyer des données mais aussi recevoir celles qui ne sont pas attendues.

    Quel est le moyen le plus rapide pour créer ce type de client ? (plusieurs connexion en même temps, threads...)
    Existe t-il une classe de ce type déjà faite et libre de téléchargement ?

    PS: Je ne poste pas mon code source car j'ai maladroitement tout effacé (partie communication), cela dit reprendre de zéro ne sera sans doute pas un mal ^^ .
    • Partager sur Facebook
    • Partager sur Twitter
      30 septembre 2008 à 14:00:12

      Tu peux utiliser des threads dans ton cas, sinon regarde un peu le fonctionnement de select(), ça te permet de faire du non bloquant avec des sockets bloquantes, et c'est plus simple à gérer que du multithreads.
      • Partager sur Facebook
      • Partager sur Twitter
        30 septembre 2008 à 14:23:59

        Merci d'avoir répondu aussi rapidement ;).

        Dois-je cependant créer deux connections simultanées ou il est possible d'utiliser send() et recv() en même temps sur la même connexion ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          30 septembre 2008 à 18:28:17

          Il vaut mieu que tu utilise les socket asynchrone pour ton utilisation sinon tu vas devoir te lancer dans la concurence et les zones critiques...
          • Partager sur Facebook
          • Partager sur Twitter

          Sockets asynchrones

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown