Adloun

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() renvoie null quand 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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →