Comment ouvrir et utiliser une socket en C?
Je voudrais savoir la plus simple et la plus efficace pour ouvrir et écrire des données sur une socket dans le langage de programmation C pour la programmation réseau.
source d'informationauteur The.Anti.9
Vous devez vous connecter pour publier un commentaire.
Vous avez raison, l'utilisation des sockets en C difficile de syntaxe. Plus tard, des langues comme Java et Python en faire un composant logiciel enfichable par comparaison. Le meilleur tutoriel que j'ai trouvé pour faire socket de programmation en C est Beej Guide de Programmation du Réseau de. Je vous recommande de commencer par le début pour obtenir un bon aperçu, mais si vous avez juste besoin d'obtenir un peu de code de travail maintenantvous pouvez passer directement à la section intitulée Client-Serveur D'Arrière-Plan.
Bonne chance!
Vous ne mentionnez pas ce que la plate-forme, mais une copie de Unix Réseau De Programmation par Stevens serait un bon ajout à votre bibliothèque. La plupart des systèmes d'exploitation à mettre en œuvre Berkley Sockets socket, bind, se connecter, etc.
Sauf si vous écrivez un réseau démon, la plupart des réseaux en C peut être fait à un niveau plus élevé que d'utiliser directement les sockets, par l'utilisation appropriée des bibliothèques.
Par exemple, si vous voulez juste pour récupérer un fichier par HTTP, utilisez Néon ou libcurl. Ce sera plus simple, il sera à un niveau plus élevé et vous aurez gratuitement SSL, le protocole IPv6, etc.
De la lecture et de l'écriture de la base de sockets n'est pas plus difficile que la lecture et l'écriture des fichiers normaux (il suffit d'utiliser recv au lieu de lire et d'envoyer à sa place si l'écriture). Les choses deviennent un peu trickey quand vous en avez besoin pour ouvrir une socket. La raison pour cela est parce qu'il y a de nombreuses façons de communiquer à l'aide de sockets (TCP, UDP, etc).
Vous pourriez vouloir essayer Tcp4u, c'est gratuit tout fait socket de programmation très facile.
http://www.jounin.net/tcp4u.html
Beaucoup de bons conseils ici jusqu'à présent. Généralement, j'écris en C++, mais vous pouvez trouver certains l'utilisent dans un livre blanc que j'ai écrit "Comment Éviter les Top Dix des Sockets Erreurs de Programmation" - ignorer les conseils pour utiliser le ACE toolkit (car il nécessite C++), mais de prendre note de la prise des erreurs dans le papier, ils sont faciles à faire et difficile à trouver, surtout pour un débutant.
http://www.riverace.com/sockets10.htm
Le Guide Définitif pour Linux Programmation du Réseau de décrire prise facile et expliquer beaucoup de choses, comme serveur de filetage, de la conception des protocoles, etc...
Aussi les Sockets TCP/IP en C, la Deuxième Édition est bon.