Quelques définitions
Sockets
- Mode de création : en serveur, le socket accepte les connections et les traites. En client, il se conecte à un serveur
- Type de trame : TCP (sûre mais plus couteuse), UDP (sans contrôle d’arrivée), etc…
- Famille d’adresse : Internet, Unix (je sais pas trop à quoi ca sert)
Exemple : je désire naviguer sur internet, “je vais sur google.fr” correspond à créer un “tunnel” entre google.fr et moipour pouvoir s’envoyer des informations
Include C# : System.Net.Sockets;
TCP
But : Type de trame de comunication
Caractéristiques :
- Controle de séquence, remise en ordre à l’arrivé
- Controle de flux, pas de saturation
- Fragmente et s’adapte pour le protocole IP
- Orienté connection (Ouverture, fermeture de connection)
Exemple : En tant que protocole sûr, celui ci permet l’envoir d’information comme par exemple lors de la navigation internet…
UDP
But : Type de trame de comunication
Caractéristiques :
- NON Orienté connection (Pas d’ouverture, fermeture de connection)
- Risque de perte de Trame
- Plus “léger” que TCP
Exemple : Le streaming est l’exemple parfait : si une trame (par exemple une image) se pert, il ne sert à rien de la retransmettre, cela bloquerait le processus de lecture.
En plus de sa légèreté, UDP permet un gain de performance.
Pointeurs
But : C’est un indicateur d’emplacement (cf Exemples), une adresse
Caractéristiques :
- Un simple Int : le pointeur est léger, maniable, copiable, etc…
- Permet le maniement des données de façon plus rapide est moins couteuse.
- Attention, prendre l’habitude de travailler avec…
Exemple : Imaginez vous une rue pleine de maison, chaque maison ayant une adresse. Alors si je désire faire des travaux dans une maison, il me parrait inconcevable de prendre la maison et de l’enmener à un atelier. Par contre, avec l’adresse, je peux me rendre directement dans la maison. C’est plus simple.
Autre exemple : Je charge un fichier gros XML (5Mo) dans un programme, au lieu de passer le string entier pour écrire une ligne en fin de fichier (et donc le copier d’un emplacement mémoire à un autre), je passe juste le pointeur, et c’est la fonction qui écrit qui va le chercher.
C# : (pas de pointeurs sans code unsafe, cool non ?)