Créer un serveur TCP/IP

Problème

Vous souhaitez que votre application soit accessible par le réseau en lui donnant la fonctionnalité de serveur TCP/IP.

Solution

Écrivez une fonction qui crée une socket, lui donne une adresse, et la mette en écoute. Après appel à cette fonction, utilisez accept() pour gérer les demandes de connexion.

Discussion

La création d’un serveur s’effectue en trois étapes : la création de la socket avec socket(), l’affectation d’une adresse avec bind() et la mise en écoute avec listen().

C’est lors de la création de la socket que nous spécifions que le protocole souhaité est TCP/IP en choisissant PF_INET pour le protocole de communication et SOCK_STREAM pour son type. Ces deux paramètres impliquent TCP/IP qui est la seule possibilité. Le troisième paramètre, qui permet de choisir entre les protocoles possibles ne présente donc aucun intérêt ici.

Donner une adresse à la socket consiste, dans la terminologie traditionnelle, à attribuer un nom à la socket. Cela fait référence aux sockets locales qui ont effectivement un nom dans le système de fichiers. Ici, le nom n’est rien d’autre que l’adresse et le numéro de port sur lequel la socket va écouter. En indiquant INADDR_ANY, le serveur écoutera sur toutes les adresses disponibles sur la machine. En indiquant seulement une adresse, seuls...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
Créer un client TCP/IP