2 votes

Comment utiliser la bibliothèque C++ Sockets

J'aimerais faire un peu de programmation de socket réseau en C++ et j'ai trouvé l'adresse suivante Bibliothèque C++ Sockets .

Tout d'abord, est-ce une bonne façon de procéder en C++ ? Normalement, en C, j'utiliserais certaines des choses que Beej décrit dans le document son tutoriel .

Deuxièmement, comment puis-je compiler les exemples donnés sur le site ? Je n'arrive pas à le comprendre à partir de leur guide d'installation/configuration. Je télécharge donc le tar.gz sur ma boîte Linux, et puis quoi ?

Pour avoir un exemple précis, comment puis-je compiler et exécuter le programme Exemple de DisplaySocket ?

Merci.


EDIT : Merci pour les réponses rapides. Une remarque cependant. Je ne cherche pas vraiment à "comprendre" la programmation en réseau car je pense que je le fais déjà assez bien. Je veux savoir s'il y a quelque chose de particulier à exploiter en C++, et - si "la bibliothèque C++ Sockets" est un bon choix - comment l'utiliser.

9voto

Steve Jessop Points 166970

Ce n'est pas "la" bibliothèque C++ sockets, c'est "une" bibliothèque C++ sockets. Boost.asio en a une autre ( http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio.html ).

(Wiki communautaire puisque je ne peux pas vraiment vous aider avec votre question - je n'ai jamais compilé le code dont vous parlez, donc je ne sais pas à quel moment vous avez pu rencontrer un problème).

3voto

Kip9000 Points 4462

La programmation réseau serait mieux comprise si l'on utilisait l'api socket de base (BSD ou WinSock) plutôt qu'une bibliothèque socket qui cache la plupart des subtilités des sockets et de leur comportement.

0voto

zooropa Points 1602

J'aime utiliser le Bibliothèque de réseau ACE quand j'écris du code réseau en C++. Je pense qu'il fait un bon travail d'abstraction de certains des détails complexes qui rendent le codage réseau pénible, mais il ne le fait pas au point de cacher ce qui se passe sous le capot. Il possède également des fonctionnalités de threading et de messagerie qui sont généralement nécessaires à tout projet.

0voto

rgtk Points 245

Je soutiendrais le vote pour boost::asio car il encapsule le modèle d'inversion de contrôle qui est le modèle actuel et préféré, et semble être lié aux standards. Pour apprendre ce que la documentation ne vous dit pas, google Douglas Schmidt et ses livres.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X