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
- Le trilemme de la souveraineté : le coût caché du cloud qui freine l’IA en Europe
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
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
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- 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
