La classe CustomerHostServer étend la classe ServerSocket de Java, ce qui fait de la classe CustomerHostServer elle-même un serveur sockets. Le fait d'étendre la classe ServerSocket facilite considérablement le coding de l'application serveur. Dans la méthode main de la classe CustomerHostServer, un nouvel objet CustomerHostServer est instancié, à l'écoute du
Se connecter, côté serveur
port 8500.
server = new CustomerHostServer(8500);
Ensuite, nous commençons une boucle while sans fin, à l’intérieur de laquelle
l’objet serveur nouvellement créé est défini pour attendre les connexions client
en appelant la méthode accept :
while(true) {
CustomerHostSocket socket =
(CustomerHostSocket)server.accept();
socket.start();
}
Le nombre de threads supportés par le système d’exploitation détermine
la limite globale des connexions client dans cette application
Le résultat d’une connexion client réussie est un objet du type CustomerHostSocket
renvoyé par la méthode accept. Les communications sockets se font au travers de
cet objet, qui est une sous-classe de la classe Socket de Java. Dès qu’un client
contacte le serveur, l’objet CustomerHostSocket est démarré. La classe CustomerHostSocket
est multithread, de sorte que la prochaine itération de la boucle while puisse
se dérouler immédiatement et que le serveur puisse reprendre l’attente sur la
méthode accept pour un autre client. Si 100 clients se connectent au serveur,
100 objets CustomerHostSocket sont créés et démarrés, chacun s’exécutant dans
son propre thread.
Il faut savoir que le nombre de threads supportés par le système d’exploitation
détermine la limite globale des connexions client dans cette application. Un seul
job AS/400, comme notre serveur sockets, peut contenir des dizaines de milliers
de threads séparés.
Pour que la méthode accept renvoie une instance de la classe socket personnalisée
CustomerHostSocket, la classe CustomerHostServer doit remplacer la méthode accept
de la classe ServerSocket de la base. Les détails de la méthode accept remplacée
sont fondamentaux dans ce modèle, qui étend les ServerSocket et Socket de Java.
Voici le code complet de la méthode accept remplacée :
PUBLIC Socket accept() throws IOException {
CustomerHostSocket s =
new CustomerHostSocket();
implAccept(s);
return s;
}
La méthode accept remplacée contient du code pour instancier un nouveau CustomerHostSocket.
Il ne faut pas être troublé par l’appel de la méthode implAccept. L’architecture
du support socket de Java offre la méthode implAccept comme moyen facile d’exécuter
le mécanisme binding socket de la mise en oeuvre de la plate-forme. La méthode
implAccept admet comme paramètre une instance de la classe Socket. Rappelons que
la méthode accept se bloque normalement jusqu’à ce qu’une connexion client soit
faite. Quand on passe à la méthode implAccept une instance de la classe Socket
ou, comme dans ce cas une sous-classe de la classe Socket, la méthode implAccept
est l’endroit où le serveur attend une connexion client. Quand la méthode implAccept
renvoie l’objet socket que l’on a passé, une connexion avec un client est établie
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
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
- ESET accélère en France et mise sur l’IA face à la montée des cybermenaces
- Souveraineté des données : cessons de traiter le symptôme, attaquons-nous aux causes
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
