Cours Windows sockets: Un cours accéléré

Sommaire: Windows sockets un cours accéléré

Introduction
Qu’est-ce qu’une socket? (ou: l’analogie)
En attendre l’agent des télécoms (ou: avant de commencer)
L’annuaire d’Internet (ou: résolution d’adresses)
Installer son nouveau téléphone (ou: comment écouter les connexions par sockets)
Composer un numéro (ou: comment appeler une socket)
Conversation (or: comment parler à travers une socket)
Raccrocher (ou: que faire quand on a fini)
Parler la langue (ou: l’ordre des octets est important)
Faire compliqué avec quelque chose de simple (ou: les sockets dans des applications)
Le futur est entre vos mains (ou: que faire maintenant)
Figure 1: La fonction establish()
Figure 2: Un squelette de serveur
Figure 3: La fonction call_socket()
Figure 4: Un squelette de client utilisant des sockets asynchrones

Extrait du cours windows sockets un cours accéléré

Introduction
Dans ce monde où augmente toujours les connectivité par réseaux, beaucoup de programmeurs se retrouvent à écrire des programmes qui communiquent par Internet. Comme pour beaucoup de chose, ce n’est pas d’écrire le code qui est difficile, mais de comprendre le concept qu’il y a derrière. Ce petit cours espère vous donner la théorie et la pratique nécéssaire pour mettre rapidement en selle les programmeurs débutants.
Qu’est-ce qu’une socket? (ou : l’analogie)
Il y a un peu plus de 15 ans, l’ARPA (Advanced Research Projects Agency du département de la défense américaine) a assigné à l’Université de Californie à Berkeley la responsabilité de construire un système d’exploitation qui pourrait être utilisé comme plate-forme standard pour l’ARPAnet, le prédécesseur de l’actuel Internet.
Berkeley, déjà très connu pour son travail sur Unix, a ajouté une nouvelle interface au système d’exploitation pour implémenter les communications réseaux. Cette interface est généralement connue sous le nom de Berkeley.
En attendant l’agent des télécoms (ou : avant de commencer)
Au début de chaque programme qui utilise des sockets, il faut appeler la fonction WinScockWSAStartup():
WSADATA info;
if (WSAStartup(MAKEWORD(1,1), &info) != 0)
MessageBox(NULL, « Impossible d’initialiser WinSock! », « WSAStartup », MB_OK);
Le premier argument est le numéro de version de la librairie WinSock que vous utilisez : la version 1.1 est la plus courante, même si la version 2 commence à devenir utilisable. Etant donné que les nouvelles librairies doivent pouvoir utiliser les applications qui utilisent WinSock 1.1, et que peu de programmeurs ont besoin des nouvelles fonctionalités de WinSock 2.0, spécifier 1.1 vous permettra de travailler avec la plupart des librairies disponibles sur le marché.
Si la fonction d’initialisation échoue, on peut obtenir des informations sur l’erreur qui s’est produite en appelant la fonction WSAGetLastError(), qui retourne le code d’erreur correspondant à la cause de l’echec. Il en va de même pour la plupart des fonctions de WinSock.
De même, il faut utiliser la fonction WSACleanup() avant d’arrêter le programme pour quitter proprement la librairie WinSock. Dans les applications Win32, cette appel n’est pas toujours obligatoire mais c’est indispensable dans des applications Win16.
L’annuaire d’Internet (ou : résolution d’adresses)
Comme pour le téléphone, chaque socket a une adresse unique composée de deux éléments : une adresse IP et un numéro de port.
La première partie est l’adresse IP, un nombre généralement écrit comme quatre nombres séparés par des points (comme 192.9.200.10), qui spécifie l’ordinateur à qui vous voulez parler. Tous les ordinateurs d’Internet ont une adresse IP.
La seconde partie est le numéro de port, qui autorise plusieurs conversations simultanées sur chaque ordinateur.
Malheureusement, les nombres sont difficiles à retenir, surtout quand vous devez travailler avec beaucoup de nombres différents. Comme pour le téléphone, un service de recherche existe pour se souvenir un nom simple (comme guill.net) plutôt que plusieurs nombres (192.74.137.5). L’interface la plus utilisée pour retrouver une adresse est la fonction gethostbyname(), qui prend le nom d’un ordinateur et vous renvoie son adresse IP. De même, il est possible de retrouver le nom d’un ordinateur quand on a son adresse IP en utilisant la fonction gethostbyaddr().
Installer son nouveau téléphone (ou : Comment écouter les connexions par socket)
Pour recevoir des appels téléphoniques, il faut d’abord installer votre téléphone. Pour ce faire, il faut créer une socket pour écouter les connections, un procédé qui se passe en plusieurs étapes.D’abord, il faut créer une socket, ce qui ressemble à se faire installer une ligne de téléphone par la compagnie des télécoms. La fonction socket() est utilisée pour ça.
Comme il y a plusieurs types de sockets, il faut spécifier le type de socket que vous voulez quand vous la créez.
Un des arguments est la famille d’adresse utilisée par la socket. Comme le service des postes utilise plusieurs techniques pour délivrer le courrier ou que la compagnie des télécoms utilise plusieurs types de numéros, les sockets peuvent être différentes. La famille d’adresse la plus courante (et la seule disponible avec Winsock 1.1) est le format Internet, spécifié par le nom AF_INET.
Composer un numéro (ou : comment appeler une socket)
Vous savez maintenant comment créer des sockets qui acceptent les appels entrants Alors, comment on l’appelle? Comme pour le téléphone, il faut d’abord avoir un téléphone avant de l’utiliser. On utilise la fonction socket() exactement de la même façon que pour recevoir les appels.
Après avoir créé une socket, et après lui avoir donné une adresse, il faut utiliser la fonction connect() pour essayer de se connecter à une socket qui attend les appels. La figure 3 illustre une fonction qui créée une socket, qui la prépare et qui appelle un port particulier sur un ordinateur particulier., renvoyant une socket connectée à travers laquelle les données peuvent passer.

LIRE AUSSI :  Cours Module 9: Designing virtualization provisioning

……….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours windows sockets: un cours accéléré (211 Ko)  (Cours PDF)
Windows sockets

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *