Alors les gars, commençons par la programmation des sockets.
Il s'agit donc de la partie du cours où vous allez écrire du code.
Dans ce module, nous allons donc voir ce qu'est exactement la programmation par socket.
Il s'agit d'une introduction.
Nous allons discuter de l'architecture des modèles basés sur le client-serveur et de la manière dont le modèle
client-serveur peut être mis en œuvre en C, nous allons discuter de la programmation des sockets basée sur
TCP et UDP.
En fait, nous allons nous concentrer uniquement sur la programmation basée sur TCP car la programmation basée sur UDP est très,
très facile.
Une fois que vous aurez maîtrisé la programmation des sockets basée sur TCP, vous pourrez facilement faire de la programmation basée sur UDP.
Nous verrons ensuite ce qu'il en est.
Comment pouvons-nous faire du multiplexage en utilisant l'appel système select ?
Tout d'abord, nous allons également discuter de ce qu'est exactement le multiplexage, n'est-ce pas ?
Linux fournit un appel système spécial appelé Select, qui nous permet de faire du multiplexage.
Le multiplexage est la capacité du serveur à gérer un certain nombre de clients en même temps.
C'est vrai.
Nous verrons ensuite comment les serveurs TCP sont conçus.
Quelles sont les étapes de la conception et du développement d'un serveur TCP ?
Et nous aurons un projet sur la programmation des sockets.
Commençons donc par l'introduction au modèle basé sur le client et le serveur.
Qu'est-ce que la communication client-serveur ?
Essayons maintenant de comprendre ce que sont exactement les machines serveurs.
Quelle est la définition d'une machine telle qu'elle soit qualifiée de serveur ?
C'est vrai.
Le serveur est donc toute machine qui reçoit la demande.
C'est vrai ?
Il recevra la demande de qui ?
Il recevra la demande du client.
Le serveur est donc toute machine qui reçoit la demande.
Il traite la demande et renvoie éventuellement le résultat.
C'est vrai.
Ainsi, toute machine possédant cette propriété reçoit la demande, la traite et renvoie
le résultat.
Une telle machine est appelée machine serveur, n'est-ce pas ?
Et le client est toute machine qui initie la requête.
Voici donc la définition simple d'une machine que l'on peut qualifier de machine serveur et de machine client.
C'est vrai ?
La machine serveur n'est jamais à l'origine de la demande.
C'est uniquement la machine du client qui initie toujours la demande.
Nous allons rapidement écrire un simple modèle client-serveur Hello world et voir.
Dans ce diagramme, vous pouvez donc voir que vous avez une machine C droite.
Sur le côté droit, vous avez une machine.
S.
C'est vrai.
C est donc l'abréviation de "machine cliente".
C'est donc la machine cliente qui initie toujours la demande.
La machine serveur.
D'autre part, après avoir reçu la demande, la traiter.
Bien, puis renvoyer le résultat à l'ordinateur du client.
C'est vrai ?
Le serveur est donc la machine qui n'initie jamais la communication, n'est-ce pas ?
Il est la propriété du serveur.
Cette machine serveur ne prend jamais l'initiative de la communication.
Ils reçoivent uniquement les demandes générées par la machine cliente, traitent ces demandes
et renvoient le résultat au client.
Vous devez maintenant avoir compris quelles machines sont classées en tant que machines clientes et quelles machines
sont classées en tant que machines serveurs.
Afin de comprendre la programmation des sockets, il est très important de bien comprendre le fonctionnement
de deux appels système importants fournis par Linux.
Ces appels système sont l'appel système de sélection et l'appel système d'acceptation.
Le système d'exploitation Linux fournit donc deux appels système pour permettre aux applications réseau américaines d'être efficaces.
Nous allons en discuter.
Comment fonctionnent ces deux appels système.
Nous allons passer un temps considérable à comprendre le fonctionnement de ces deux appels
système.
En C, il est difficile d'écrire une application basée sur une socket sans utiliser les appels système select et accept.
C'est vrai ?
Ainsi, chaque fois que vous écrirez la programmation d'une socket en C, vous utiliserez certainement l'appel système
select ou l'appel système accept.
En fait, si vous écrivez des applications basées sur la programmation de sockets dans d'autres langages, il se peut
que vous utilisiez la variante des appels système "select" et "accept".
Il y aura certainement des API qui rempliront la fonction de sélection et d'acceptation des appels
système du point de vue de l'entretien.
Il est très important de comprendre ces deux appels, n'est-ce pas ?
Lors de l'entretien, on vous demande donc d'emblée de décrire ou d'expliquer le système de sélection.
Appeler et expliquer l'appel du système d'acceptation.
C'est vrai ?
Commençons donc par saisir l'idée de ces deux API, à savoir l'appel système de sélection et d'acceptation.
Une fois ces deux appels système compris, les autres API de programmation de sockets se mettent automatiquement
en place.
Nous allons donc commencer par nous familiariser avec la programmation des sockets.