> Tech > Le programme VB Sockets règle l’horloge des PC

Le programme VB Sockets règle l’horloge des PC

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

Cet utilitaire de synchronisation permet d'apprendre les bases de la programmation des sockets TCP/IP Le mécanisme sous-jacent fondamental permettant à  deux ordinateurs quelconques de communiquer entre eux est un jeu de programmes qui échangent des informations en utilisant des profils binaires d'informations convenus. Cela semble être l'évidence même, mais les développeurs d'applications de gestion que nous sommes oublions facilement comment nos ordinateurs et applications se parlent, parce que généralement, nous nous contentons de faire appel à  des services de communications : serveurs DDM, drivers ODBC, serveurs hôtes et files d'attente de données, sans nous soucier des menus détails.

Parmi les exemples de services de communications TCP/IP les plus connus, on trouve : FTP (File Transfer Protocol), Telnet, le Web (Hypertext Transfer Protocol, ou HTTP) et les serveurs de courrier électronique. Ces serveurs communiquent avec un interlocuteur, ou programme client, au moyen de profils binaires (ou protocoles) convenus. Le succès de TCP/IP s'explique en partie par le fait que les mécanismes permettant aux programmes TCP/IP de communiquer entre eux sont relativement simples et bien documentés.

Le succès de TCP/IP s'explique en partie par ses mécanismes de communication relativement simples et bien documentés

Cet article montre comment coder les programmes client et serveur Visual Basic (VB) utilisant des protocoles TCP/IP pour communiquer. Le programme client peut communiquer avec tout programme serveur correspondant ayant des possibilités de communications TCP/IP, sur le LAN local ou sur Internet, et le programme serveur peut communiquer avec tout programme client correspondant.

Outre le fait qu'ils montrent la manière de coder des programmes de communications TCP/IP, les exemples de programmes client et serveur VB offrent une synchronisation du temps très précise entre leurs plates-formes d'exécution respectives. Comme les PC Intel souffrent d'une mauvaise réputation quant à  la conservation de l'heure, le fait de synchroniser un PC par rapport à  un autre est une technique discutable. En revanche, on peut utiliser le programme client VB conjointement au programme serveur RPG de l'AS/400 pour synchroniser l'horloge d'un PC avec celle, plus exacte, d'un AS/400.

Le programme VB Sockets règle l’horloge des PC

Avant d’entrer dans les détails du programme de synchronisation de temps VB, quelques
généralités s’imposent au sujet des communications TCP/IP et des protocoles de
temps d’Internet. Les programmes TCP/IP communiquent entre eux à  l’aide d’un mécanisme
appelé sockets. Un socket est une terminaison de réseau TCP/IP, définie par un
numéro de port associé à  une application, et par une adresse IP système. Les programmes
client et serveur TCP/IP utilisent un ensemble d’API sockets pour communiquer
entre eux par l’intermédiaire des points de terminaison sockets. Comme les sockets
étaient d’abord destinés aux systèmes Unix, les API étaient définies pour des
programmes en langage C. Cependant, on peut aussi appeler les API à  partir de
programmes écrits dans d’autres langages, comme VB ou RPG. Cet article montre
comment appeler les API sockets dans un programme VB.

La figure 1 présente le fonctionnement de base des programmes client et serveur
TCP/IP appelant les API sockets. Pour que les deux programmes puissent communiquer,
le programme serveur doit d’abord se lier, ou s’associer à  des ports sockets convenus.
Pour cela, le serveur appelle une API socket pour déclarer les ports sockets auxquels
il veut se connecter (le numéro de port est un nombre de 16 bits allant de 0 à 
65535). Les ports 0 à  1023 sont réservés aux processus « bien connus » comme FTP
et Telnet ; au-dessus de cette limite, les numéros sont utilisables pour vos propres
programmes. Pour le processus serveur, le tandem constitué par le numéro de port
plus l’adresse Internet de la machine sur laquelle s’exécute le programme serveur,
constitue une adresse socket unique. Le programme client enverra les requêtes
à  cette adresse et il doit donc la connaître à  l’avance.

Aussitôt démarré, le programme serveur se met à  l’écoute du port sockets pour
déceler les requêtes entrantes. Les programmes clients sont également liés à  un
port sockets, sans toutefois devoir se lier à  un port particulier. Comme les API
sockets transmettent l’adresse Internet et l’information du port client au programme
serveur lors des opérations d’envoi et de réception, un programme client peut
se contenter de choisir un port inutilisé sur l’ordinateur client. Cette pratique
permet au programme serveur de traiter dynamiquement les requêtes provenant de
clients multiples.

Aussitôt la conversation entamée, le programme client peut envoyer des requêtes
au programme serveur, lequel peut lui répondre. Une fois que le client et le serveur
ont terminé leur conversation, ils demandent à  une API sockets de fermer le port
sockets sur chaque machine, de manière à  libérer les ports pour d’autres processus.

Téléchargez gratuitement cette ressource

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

HP Elite Slice G2 : optimisez la collaboration… et votre budget !

Téléchargez cette étude Forrester et découvrez comment booster la collaboration tout en dégageant un excellent R.O.I grâce au système de vidéoconférence HP Elite Slice G2 avec Microsoft Teams !

Tech - Par iTPro.fr - Publié le 24 juin 2010