Bien que les PC ne soient pas d'une extrême précision en matière d'heure, on peut parfois être amené à adresser des requêtes d'heure à un PC. Un programme SNTP serveur PC est plus simple à coder qu'un client parce que le rôle du serveur se borne à se lier au
Le programme SNTP serveur
port 123, à recevoir des requêtes et à renvoyer des réponses
donnant l’heure courante. Comme le programme client, mon programme serveur utilise
le contrôle MSWINSCK pour communiquer avec l’interface sockets et SNTP.CLS pour
fournir des méthodes permettant de travailler avec les données de message NTP.
La sous-routine Form_Load du programme serveur règle d’abord le protocole pour
les communications sur UDP, règle la propriété LocalPort de MSWINSCK sur SNTPProtocolPort
(port 123 sur le système serveur local), puis tente de se lier au port serveur
:
Winsock1.Protocol = sckUDPProtocol
Winsock1.LocalPort = SNTPProtocolPort
Winsock1.Bind
Quand les données arrivent d’un client, le code dans l’événement MSWINSCK DataArrival
du programme serveur s’exécute. La sous-routine Winsock1_DataArrival reçoit les
données avec l’instruction suivante :
Winsock1.GetData ReceiveData
Pour formuler une réponse appropriée au client, Winsock1_DataArrival doit initialiser
les zones de contrôle dans le message NTP, copier dans la zone d’horodatage Originate
le tampon horodateur Receive provenant du client, et placer l’heure courante dans
la zone d’horodatage Transmit. Winsock1_DataArrival appelle la méthode ServerFormatNTPResponse
de SNTP.CLS pour exécuter ces étapes. Ensuite, la sous-routine renvoie au client
le tampon horodateur NTP formaté, avec la ligne
Winsock1.SendData ServerResponse()
Le contrôle MSWINSCK garde la trace des clients ayant envoyé une requête donnée
via leurs propriétés RemoteHostIP et RemotePort. Quand le programme serveur reçoit
une requête d’un programme client, l’adresse IP et le port client sont placés
automatiquement dans ces propriétés. Ensuite, quand la méthode SendData de MSWINSCK
est invoquée, les propriétés servent à déterminer la destination de la réponse.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA de confiance : le facteur clé pour rentabiliser les projets d’entreprise
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
