QCM Java orienté Réseau
Question 1 : Quelle classe est utilisée pour créer un serveur TCP en Java ?
a) Socket
b) ServerSocket
c) DatagramSocket
d) InetAddress
Réponse : b) ServerSocket
Explication : En Java, la classe ServerSocket est utilisée pour créer un serveur qui écoute les
connexions des clients sur un port spécifié.
Question 2 : Laquelle de ces méthodes est utilisée pour accepter une connexion entrante dans un
serveur TCP ?
a) accept()
b) connect()
c) listen()
d) bind()
Réponse : a) accept()
Explication : La méthode accept() de la classe ServerSocket est utilisée pour accepter les connexions
entrantes des clients.
Question 3 : Quelle classe est utilisée pour créer une connexion client UDP en Java ?
a) Socket
b) ServerSocket
c) DatagramSocket
d) InetAddress
Réponse : c) DatagramSocket
Explication : Pour les communications basées sur le protocole UDP, la classe DatagramSocket est
utilisée pour envoyer et recevoir des paquets de données.
Question 4 : Comment spécifier une adresse IP et un port dans un client TCP en Java ?
a) Utiliser new Socket("adresseIP", port)
b) Utiliser new ServerSocket("adresseIP", port)
c) Utiliser connect("adresseIP", port)
d) Utiliser bind("adresseIP", port)
Réponse : a) Utiliser new Socket("adresseIP", port)
Explication : La classe Socket est utilisée côté client pour établir une connexion avec un serveur en
spécifiant l'adresse IP et le port.
Question 5 : Quelle méthode est utilisée pour envoyer un paquet dans une connexion UDP ?
a) send()
b) transmit()
c) post()
d) dispatch()
Réponse : a) send()
Explication : La méthode send() de la classe DatagramSocket est utilisée pour envoyer des paquets de
données dans une connexion UDP.
Question 6 : Que fait la méthode getInetAddress() dans un objet Socket ?
a) Elle renvoie le port du client.
b) Elle renvoie l'adresse IP du client ou du serveur distant.
c) Elle renvoie l'état de la connexion.
d) Elle ferme la connexion.
Réponse : b) Elle renvoie l'adresse IP du client ou du serveur distant.
Explication : La méthode getInetAddress() permet d'obtenir l'adresse IP de l'hôte distant dans une
connexion Socket.
Question 7 : Quel est le rôle de la méthode close() dans la programmation réseau en Java ?
a) Fermer le flux d'entrée uniquement.
b) Fermer le flux de sortie uniquement.
c) Fermer la connexion réseau.
d) Ouvrir une nouvelle connexion.
Réponse : c) Fermer la connexion réseau.
Explication : La méthode close() est utilisée pour fermer la connexion réseau (par exemple, un Socket
ou un ServerSocket), libérant ainsi les ressources associées.
Question 8 : Comment recevoir un paquet UDP en Java ?
a) Utiliser la méthode receive() de DatagramSocket.
b) Utiliser la méthode accept() de ServerSocket.
c) Utiliser la méthode listen() de Socket.
d) Utiliser la méthode bind() de DatagramPacket.
Réponse : a) Utiliser la méthode receive() de DatagramSocket.
Explication : La méthode receive() est utilisée avec un objet DatagramSocket pour recevoir des
paquets UDP.
Question 9 : Quelle classe est utilisée pour représenter une adresse IP en Java ?
a) InetSocketAddress
b) InetAddress
c) IPAddress
d) URL
Réponse : b) InetAddress
Explication : La classe InetAddress est utilisée pour représenter une adresse IP en Java.
Question 10 : Que fait la méthode bind() dans un serveur TCP en Java ?
a) Elle associe un ServerSocket à une adresse locale et un port.
b) Elle établit une connexion avec un client.
c) Elle ferme la connexion avec le client.
d) Elle envoie des données au client.
Réponse : a) Elle associe un ServerSocket à une adresse locale et un port.
Explication : La méthode bind() permet d’associer un ServerSocket à une adresse IP et un port
spécifiques pour écouter les connexions entrantes.
Question 11 : Quelle méthode est utilisée pour obtenir le flux de sortie d'un Socket en Java ?
a) getInputStream()
b) getOutputStream()
c) write()
d) send()
Réponse : b) getOutputStream()
Explication : La méthode getOutputStream() est utilisée pour obtenir le flux de sortie associé à un
objet Socket. Cela permet d'envoyer des données depuis le client ou le serveur vers l'autre extrémité
de la connexion.
Question 12 : Quelle exception est généralement levée lors d'une erreur de connexion réseau en Java
?
a) IOException
b) SQLException
c) NetworkException
d) ClassNotFoundException
Réponse : a) IOException
Explication : Les opérations d'E/S, y compris celles liées aux connexions réseau, peuvent lever une
IOException lorsqu'une erreur survient, comme l'impossibilité de se connecter à un serveur ou une
déconnexion inattendue.
Question 13 : Quelle est la fonction de la méthode connect() dans un objet DatagramSocket ?
a) Envoyer un paquet UDP à une adresse spécifique.
b) Établir une connexion persistante entre deux nœuds.
c) Lier le socket à une adresse et un port.
d) Associer un DatagramSocket à une adresse et un port distants.
Réponse : d) Associer un DatagramSocket à une adresse et un port distants.
Explication : Dans le cadre de l'UDP, connect() ne crée pas une connexion persistante comme dans
TCP, mais associe le socket à une adresse IP et un port spécifiques, facilitant ainsi l'envoi et la
réception de paquets entre les mêmes adresses.
Question 14 : Quelle est la méthode correcte pour fermer une connexion Socket en Java ?
a) shutdown()
b) disconnect()
c) close()
d) terminate()
Réponse : c) close()
Explication : La méthode close() permet de fermer la connexion et de libérer les ressources associées
à un Socket en Java.
Question 15 : Quelle classe est utilisée pour envoyer et recevoir des paquets dans une connexion
UDP en Java ?
a) Socket
b) DatagramPacket
c) InetAddress
d) ServerSocket
Réponse : b) DatagramPacket
Explication : La classe DatagramPacket est utilisée pour représenter les paquets de données envoyés
et reçus dans une communication basée sur le protocole UDP.
Question 16 : Quelle est la taille maximale d'un paquet UDP standard en Java ?
a) 64 Ko
b) 128 Ko
c) 32 Ko
d) 16 Ko
Réponse : a) 64 Ko
Explication : La taille maximale théorique d'un paquet UDP est de 65535 octets (environ 64 Ko),
incluant les en-têtes, bien que la taille réelle puisse être limitée par les contraintes du réseau.
Question 17 : Quelle est la méthode utilisée pour obtenir l'adresse IP d'un hôte en Java ?
a) [Link]()
b) [Link]()
c) [Link]()
d) [Link]()
Réponse : a) [Link]()
Explication : La méthode [Link]() renvoie l'adresse IP de l'hôte local.
Question 18 : Dans une communication réseau Java, quelle classe permet de lire des données
envoyées par un client ?
a) OutputStream
b) InputStream
c) Writer
d) Reader
Réponse : b) InputStream
Explication : La classe InputStream permet de lire des données entrantes, que ce soit à partir d'un
client ou d'un autre processus.
Question 19 : Quelle méthode de DatagramSocket est utilisée pour lier un socket à une adresse et un
port spécifiques en Java ?
a) connect()
b) bind()
c) listen()
d) accept()
Réponse : b) bind()
Explication : La méthode bind() est utilisée pour associer un socket à une adresse locale et un port
spécifiques, de la même manière que dans TCP, mais pour une connexion UDP.
Question 20 : Quelle méthode est utilisée pour envoyer des données via un flux de sortie dans une
connexion TCP en Java ?
a) send()
b) write()
c) dispatch()
d) output()
Réponse : b) write()
Explication : La méthode write() est utilisée pour envoyer des données à travers un flux de sortie, que
ce soit dans un OutputStream ou un BufferedWriter.
Question 21 : Dans une application réseau en Java, comment peut-on s'assurer que toutes les
données sont correctement envoyées avant de fermer un flux ?
a) Utiliser la méthode flush().
b) Utiliser la méthode send().
c) Utiliser la méthode finalize().
d) Utiliser la méthode finish().
Réponse : a) Utiliser la méthode flush().
Explication : La méthode flush() force l'écriture des données encore présentes dans le tampon vers le
flux de sortie, garantissant que tout est bien envoyé avant de fermer le flux.
Question 22 : Quelle méthode de la classe Socket permet de connaître le port distant auquel le client
est connecté ?
a) getPort()
b) getRemotePort()
c) getRemoteSocketAddress()
d) getOutputPort()
Réponse : a) getPort()
Explication : La méthode getPort() renvoie le numéro de port distant avec lequel le client est
connecté.
Question 23 : Quelle classe est utilisée pour ouvrir une connexion HTTP en Java ?
a) HttpURLConnection
b) URLConnection
c) ServerSocket
d) DatagramSocket
Réponse : a) HttpURLConnection
Explication : La classe HttpURLConnection est spécifiquement utilisée pour gérer des connexions
HTTP.
Question 24 : Quelle méthode de la classe InetAddress est utilisée pour vérifier si une adresse IP est
atteignable ?
a) isReachable()
b) ping()
c) connect()
d) testConnection()
Réponse : a) isReachable()
Explication : La méthode isReachable() envoie un ping à une adresse IP pour tester si elle est
atteignable depuis l'hôte actuel.
Question 25 : Comment est appelée une connexion réseau qui n'est pas orientée connexion en Java ?
a) Connexion TCP
b) Connexion UDP
c) Connexion HTTP
d) Connexion FTP
Réponse : b) Connexion UDP
Explication : UDP est un protocole sans connexion, contrairement à TCP qui est orienté connexion.
Question 26 : Que renvoie la méthode getByName() de la classe InetAddress ?
a) L'adresse MAC de l'hôte.
b) Le nom de domaine complet de l'hôte.
c) L'adresse IP associée à un nom de domaine.
d) L'adresse du serveur de noms.
Réponse : c) L'adresse IP associée à un nom de domaine.
Explication : La méthode getByName() permet de récupérer l'adresse IP associée à un nom de
domaine (DNS).
Question 27 : Quelle méthode permet de lire une ligne de texte depuis un flux d'entrée dans une
connexion TCP ?
a) read()
b) readLine()
c) input()
d) getLine()
Réponse : b) readLine()
Explication : La méthode readLine() (souvent utilisée avec BufferedReader) permet de lire une ligne
complète de texte depuis un flux d'entrée.
Question 28 : Quelle exception est levée lorsque la connexion avec un serveur est perdue de manière
inattendue ?
a) ConnectionLostException
b) SocketException
c) IOException
d) TimeoutException
Réponse : b) SocketException
Explication : La classe SocketException est levée lorsqu'il y a des erreurs liées aux sockets, comme
une déconnexion inattendue.
Question 29 : Quelle est la méthode correcte pour créer un objet DatagramPacket en Java ?
a) new DatagramPacket(data, length)
b) new DatagramPacket(packet)
c) new DatagramPacket(data, length, address, port)
d) new DatagramPacket(socket, address)
Réponse : c) new DatagramPacket(data, length, address, port)
Explication : Le constructeur DatagramPacket(byte[] data, int length, InetAddress address, int port)
Question 30 : Quelle méthode de la classe Socket permet de récupérer l'adresse de l'hôte distant
connecté ?
a) getRemoteAddress()
b) getInetAddress()
c) getHostAddress()
d) getAddress()
Réponse : b) getInetAddress()
Explication : La méthode getInetAddress() permet de récupérer l'adresse IP de l'hôte distant
connecté à travers un objet Socket.
Question 31 : Quelle méthode est utilisée pour lier un ServerSocket à un port spécifique en Java ?
a) listen()
b) connect()
c) bind()
d) accept()
Réponse : c) bind()
Explication : La méthode bind() associe un ServerSocket à un port spécifique et éventuellement à une
adresse IP locale, ce qui permet au serveur d'écouter les connexions entrantes.
Question 32 : Quelle classe est utilisée pour représenter un paquet de données dans une
communication UDP en Java ?
a) Packet
b) DatagramPacket
c) DataPacket
d) DataStream
Réponse : b) DatagramPacket
Explication : En Java, la classe DatagramPacket est utilisée pour représenter un paquet de données
qui sera envoyé ou reçu dans une connexion UDP.
Question 33 : Quelle méthode est utilisée pour recevoir des données sur un Socket en Java ?
a) read()
b) write()
c) receive()
d) get()
Réponse : a) read()
Explication : La méthode read() est utilisée pour lire les données d'un flux d'entrée associé à un
Socket.
Question 34 : Dans une communication réseau Java, quelle méthode est utilisée pour définir un délai
d'attente (timeout) sur une connexion TCP ?
a) setTimeout()
b) setConnectionTimeout()
c) setSoTimeout()
d) setSocketTimeout()
Réponse : c) setSoTimeout()
Explication : La méthode setSoTimeout(int timeout) est utilisée pour définir un délai d'attente (en
millisecondes) pour une connexion TCP, après quoi une exception sera levée si aucune donnée n'a été
reçue.
Question 35 : Quelle méthode est utilisée pour envoyer des données via un DatagramSocket en UDP
?
a) sendPacket()
b) sendData()
c) dispatchPacket()
d) send()
Réponse : d) send()
Explication : La méthode send() est utilisée avec un objet DatagramSocket pour envoyer un paquet
de données UDP représenté par un objet DatagramPacket.
Question 36 : Comment un programme client TCP peut-il se connecter à un serveur en Java ?
a) new ServerSocket("hostname", port)
b) new DatagramSocket("hostname", port)
c) new Socket("hostname", port)
d) new InetAddress("hostname", port)
Réponse : c) new Socket("hostname", port)
Explication : Un client TCP se connecte à un serveur en créant un objet Socket avec l'adresse de l'hôte
(nom de domaine ou adresse IP) et le port du serveur.
Question 37 : Quelle méthode est utilisée pour connaître le port local d'un objet Socket en Java ?
a) getPort()
b) getLocalPort()
c) getRemotePort()
d) getHostPort()
Réponse : b) getLocalPort()
Explication : La méthode getLocalPort() permet de récupérer le port local utilisé par le socket pour la
connexion.
Question 38 : Quelle méthode de la classe ServerSocket permet d'accepter une nouvelle connexion
client en Java ?
a) accept()
b) listen()
c) connect()
d) bind()
Réponse : a) accept()
Explication : La méthode accept() est utilisée par un serveur pour attendre et accepter une connexion
entrante d'un client.
Question 39 : Quel objet est généralement utilisé pour lire des données texte ligne par ligne à partir
d'un flux réseau en Java ?
a) BufferedReader
b) FileReader
c) DataInputStream
d) PrintStream
Réponse : a) BufferedReader
Explication : Un BufferedReader est souvent utilisé pour lire des données texte ligne par ligne à partir
d'un flux réseau, comme le flux d'entrée d'un Socket.
Question 40 : Quelle méthode est utilisée pour interrompre une lecture bloquante dans un Socket en
Java ?
a) close()
b) interrupt()
c) stop()
d) terminate()
Réponse : a) close()
Explication : La méthode close() permet d'interrompre une lecture ou une écriture bloquante en
fermant le Socket, libérant ainsi les ressources associées et interrompant les opérations en cours.