132 CHAPITRE 11 Serveurs réseau
Retourner une réponse
Créer un serveur et accepter
une requête
public static final short PORT = 9988;
ServerSocket server = new ServerSocket(PORT);
while ((clientSock = server.accept( )) != null) {
// Traiter la demande du client
}
Cet exemple utilise une instance de
ServerSocket
pour
créer un serveur écoutant sur le port 9988. Nous passons
le port sur lequel nous souhaitons que le serveur écoute
au constructeur du
ServerSocket
. Une fois le socket ser-
veur créé, nous appelons la méthode
accept()
pour
attendre une connexion client.
La méthode
accept()
bloque l’exécution jusqu’à ce
qu’une connexion avec un client soit opérée. Lorsqu’une
connexion est établie, une nouvelle instance
Socket
est
retournée.
Si un gestionnaire de sécurité est utilisé, sa méthode
check-
Accept()
est appelée avec
clientSock.getInetAddress().
getHostAddress()
et
clientSock.getPort()
en arguments,
afin de s’assurer que l’opération est autorisée. Cette vérifi-
cation peut lever une exception
SecurityException
.
Les exemples de ce chapitre utilisent tous la classe
ServerSocket
. Elle est utilisée par le serveur pour attendre
et établir les connexions client.
L’exemple précédent l’a montré : lorsque vous commen-
cez par créer un objet de la classe
ServerSocket
, vous devez
spécifier un port à écouter pour les requêtes entrantes. La
classe
ServerSocket
elle-même n’est pas utilisée pour la
MEP_GdS_Java.indd 132 06/10/11 13:05
© 2011 Pearson Education France – Java, mise à jour pour Java 7 – Timothy Fisher