par Dan Darnell
Cet article donne un aperçu de la programmation des sockets TCP/IP en explorant
la façon de construire une application de suivi Clients (Customer Tracking) qui
parle à l'AS/400. De telles applications illustrent les avantages du modèle client/serveur.
Un avantage de ce modèle d'application consiste dans le fait qu'il place son accès
à la base de données sur l'AS/400, où se trouve un driver JDBC optimisé Outre
les gains de performance potentiels, le fait de transférer la partie accès aux
données des applications sur le serveur peut améliorer leur sécurité.
Un serveur de sockets propriétaire et personnalisé limite les actions potentiellement
dangereuses de la part d'une application client. Une application client utilisant
le driver JDBC de l'AS/400 Toolbox for Java peut accéder à , et mettre à jour,
pratiquement n'importe quel fichier du système (en fonctions des sécurités propres
de l'AS/400). A l'inverse, une application cliente communiquant avec un serveur
de sockets ne peut toucher des fichiers qu'en utilisant le protocole que l'application
serveur définit.
Un exemple de serveur de sockets Java
" title="Un exemple de serveur de sockets Java">
Les sockets TCP/IP permettent de connecter un client à un serveur pour qu’ils
s’échangent des données. Pour programmer en utilisant des sockets, on crée un
serveur chargé d’écouter et de traiter les requêtes d’un ou plusieurs clients.
Pour se connecter au serveur, le client doit connaître l’adresse IP de la plate-forme
serveur et le port sur lequel l’application serveur est à l’écoute. Un port est
tout simplement un entier entre 1 à 65535 que l’on choisit ; sur un port, l’application
serveur peut être à l’écoute de ses clients, en les distinguant des autres types
d’activité.
Les applications Telnet, par exemple, se connectent toujours au serveur en utilisant
le port 25, le navigateur Web sait que le service HTTP a toujours lieu sur le
port 80. Mon exemple d’application Customer Tracking (dont je parlerai dans un
moment) utilise 8500, que j’ai choisi arbitrairement comme numéro de port. Le
seul inconvénient du choix d’un port est que les nombres de 1 à 1023 sont réservés
à des standards notoires comme Telnet et HTTP. Normalement, les applications peuvent
utiliser en toute sécurité tout numéro de port compris entre 1024 et 65535.
Une connexion par sockets fournit des flux d’entrée et de sortie permettant de
lire et d’écrire facilement des données entre systèmes, tout comme on lit et écrit
des données en utilisant des fichiers stream (c’est-à -dire, des fichiers dans
l’IFS). Allons un peu plus loin : en utilisant la fonction de sérialisation de
Java, on peut utiliser des flux socket pour échanger des objets entiers entre
systèmes.
Un serveur doit être capable de recouvrir des threads multiples, au moins
un thread par client, afin que des communications puissent se dérouler simultanément.
En Java, il est facile de créer une application serveur de sockets capable de
servir un client unique. Malheureusement, pour aller au-delà d’un seul client,
il faut une programmation bien plus élaborée. Pour pouvoir traiter des clients
multiples, un serveur doit être capable de recouvrir des threads multiples, au
moins un thread par client, afin que des communications puissent se dérouler simultanément.
La figure 1 présente un serveur de sockets écrit de telle sorte que des clients
multiples puissent se connecter en même temps. Un seul serveur écoute sur un port
unique les clients qui se connectent, mais un objet de communication sockets threaded
distinct est déployé pour traiter chaque client.
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Afficher les icônes cachées dans la barre de notification
Les plus consultés sur iTPro.fr
- Redéfinir la confiance à l’ère de l’IA agentique : les entreprises sont-elles prêtes pour le SOC autonome ?
- IA Agentique : la vraie rupture c’est la gouvernance humaine
- Les défaillances des pipelines de données pèsent lourdement sur la performance des grandes entreprises
- Les nouvelles menaces liées à l’IA obligent les entreprises à dépasser la seule stratégie de sauvegarde
Articles les + lus
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
À la une de la chaîne Tech
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
