programmation Java (école d'ingénieur) · Chapitre 16 · Application directe du cours
Questions de cours
Réseau : sockets client/serveur · niveau 1 (application)
Énoncé
Répondre en une ou deux phrases.
- Un serveur et son client tournent sur le même ordinateur. Quelle adresse le client doit-il utiliser ? Faut-il une connexion Internet ?
- Pourquoi un serveur web écoute-t-il sur un port fixe et connu (80 ou 443), alors que le port d'un client est choisi au hasard par le système ?
- Un programme de visioconférence envoie 30 images par seconde. Pourquoi utilise-t-il UDP plutôt que TCP ?
- Comment le serveur d'écho sait-il qu'un client a terminé ?
Corrigé
- L'adresse de la boucle locale,
localhost(127.0.0.1). Aucune connexion extérieure n'est nécessaire : les données ne quittent pas la machine. - Les clients doivent savoir où joindre le serveur : son port doit être fixé et connu de tous. Le serveur, lui, n'a pas besoin de connaître à l'avance le port du client : il le découvre à la connexion et lui répond dessus. Le système choisit donc un port libre pour chaque client.
- Une image arrivée en retard ne sert plus à rien : mieux vaut la perdre que la renvoyer et retarder les suivantes, comme le ferait TCP. UDP, sans garantie mais sans délai, convient mieux.
readLine()renvoienullquand le client a fermé sa socket : la boucle de lecture s'arrête et le serveur affiche « Client déconnecté ».
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.