Font size
Worksheets4A4 - Révision
Total questions: 25
Worksheet time: 23mins
Dans le contexte de programmation réseau, qu'est-ce qu'un socket?
Protocole utilisé pour établir une connexion entre deux applications réseau.
Un "objet" qui contient une ou deux terminaisons (endpoint) d'un lien de communication bidirectionnel
Processus dédié à l’écoute des requêtes entrantes sur un port spécifique.
Structure qui représente uniquement l’adresse IP et le port d’une machine distante.
Laquelle de ces méthodes n'est pas associée aux sockets?
bind
accept
readline
listen
Quelle(s) méthode(s) sont considérée(s) comme bloquante(s)?
bind
accept
listen
receive
En quoi un réseau mesh comme celui de NordVPN peut être utile?
Il permet à deux ordinateurs distants de communiquer comme s’ils étaient connectés au même réseau local.
Il chiffre uniquement les fichiers téléchargés depuis Internet, sans affecter les autres communications.
Il augmente automatiquement le débit Internet disponible pour chaque ordinateur connecté.
Il remplace l’adresse IP publique de chaque ordinateur par une adresse MAC aléatoire pour plus de sécurité.
Dans quelle situation obtiendrez-vous l'erreur suivante : 10056 - Socket is already connected.
Lorsqu’un serveur attend une connexion mais qu’aucun client ne se connecte dans le délai imparti.
Lorsqu’un client utilise une mauvaise adresse IP ou un port fermé pour tenter de se connecter.
Lorsqu’un client envoie des données sur un socket avant d’appeler la méthode connect.
Lorsqu’un client est déjà connecté au serveur et tente d’établir une nouvelle connexion sur le même socket.
Pourquoi est-il préférable d'utiliser Task.Run plutôt que des Threads directement?
Permet de créer des threads qui s’exécutent deux fois plus vite que les threads classiques.
Garantit qu’aucune exception ne sera jamais levée pendant l’exécution asynchrone.
Permet de mieux gérer les ressources et de bénéficier du planificateur de tâches, qui optimise l’utilisation des threads selon la charge du système.
Remplace complètement l’utilisation des threads et n’utilise plus aucun thread en arrière-plan.
Quelles sont les deux types d'opération associées à l'asynchronisme en C#?
Les opérations liées au calcul.
Les opérations utilisant des événements pour la synchronisation.
Les opérations liées à l’entrée/sortie.
Les opérations liées aux tâches programmées à intervalles réguliers.
Quelle est la conséquence d'exécuter cette ligne de code :
await Task.Run(() => listener.AcceptAsync());
Cela crée inutilement des threads supplémentaires et surcharge le pool de threads, ce qui peut affecter la performance et la scalabilité du serveur.
Cela permet de mieux gérer les connexions simultanées en répartissant la charge entre plusieurs threads.
Cela garantit que chaque client sera servi dans un thread distinct, améliorant ainsi la réactivité du serveur.
Cela évite d'utiliser des await bloquants et améliore ainsi l’asynchronisme global du serveur.
Qu'est-ce que cela signifie lorsqu'on dit qu'UDP n'est pas orienté connexion ?
UDP crée une connexion sécurisée avant d'envoyer les données, assurant ainsi la confidentialité de la communication.
UDP garde la trace de l'état de chaque paquet envoyé, permettant de retrouver les connexions.
UDP établit une connexion unique et persistante, mais sans confirmation de la réception des paquets.
UDP envoie des données sans établir de connexion préalable entre l'émetteur et le récepteur.
Dans quel contexte un broadcast pourrait-il être utilisé dans un réseau local d’entreprise ?
Pour notifier un groupe de personnes dans une application mobile en temps réel.
Pour distribuer des fichiers à un groupe spécifique de serveurs dans un data center.
Pour envoyer une annonce à tous les ordinateurs du réseau afin d'alerter les utilisateurs d’une maintenance à venir du système.
Pour synchroniser les fichiers entre différents utilisateurs à travers un cloud.
Dans quelle situation le multicast est-il idéal pour la distribution de données ?
Pour envoyer une notification à tous les utilisateurs d'une application mobile sur Internet.
Pour connecter un serveur et un client dans un jeu en ligne où chaque client est à une adresse IP différente.
Pour envoyer des données à un seul destinataire dans un réseau local.
Pour diffuser un flux vidéo en direct à plusieurs abonnés sur un réseau, où chaque abonné souhaite recevoir le flux sans multiplier la charge du serveur.
Laquelle de ces bibliothèques permet d'obtenir la liste des ports en écoute?
IPGlobalProperties
NetworkInterface
TcpStatistics
GatewayIPAddressInformation
Lequel de ces systèmes est un type de système temps réel "hard real-time" ?
Un système de gestion de fichiers dans un serveur web.
Un système de lecture de données à partir d'une base de données dans une application mobile.
Un système de commande pour un avion.
Un système de traitement par lots d'un ensemble de données pour un rapport mensuel.
Laquelle de ces affirmations est fausse concernant les WebSockets ?
Les WebSockets permettent une communication bidirectionnelle entre client et serveur.
Les WebSockets commencent par une négociation HTTP avant de passer en mode full-duplex.
Les WebSockets sont souvent utilisés pour des applications en temps réel comme les chats ou les jeux en ligne.
Les WebSockets ouvrent une nouvelle connexion TCP à chaque message envoyé.
Le passage du protocole HTTP/1.1 au protocole HTTP/2.0 nécessite beaucoup de changements dans la façon de concevoir les sites web.
Vrai
Faux
Quelle est la principale raison d'utiliser un algorithme comme gzip ou brotli pour l'envoi d'un message?
Améliorer la sécurité des messages en les chiffrant avant l’envoi.
Réduire la taille des données transmises afin de diminuer le temps de transfert.
Garantir l’intégrité des messages grâce à un hachage robuste.
Accélérer le traitement des messages sur le serveur en utilisant moins de CPU.
Si un navigateur envoie la ligne suivante au début de la requête :
GET /index.html HTTP/2
Le serveur est-il obligé de répondre en utilisant le protocole HTTP/2 ?
Non, le serveur choisit le protocole qu’il supporte et peut répondre en HTTP/1.1 s’il ne prend pas en charge HTTP/2.
Oui, car le navigateur impose toujours le protocole indiqué dans la requête.
Non, le serveur répondra automatiquement en HTTP/3 si disponible, sans tenir compte de la requête.
Oui, sinon le navigateur refusera la réponse.
Quelle est la principale différence entre le chiffrement symétrique et asymétrique ?
Le chiffrement asymétrique est plus rapide que le chiffrement symétrique.
Le chiffrement symétrique nécessite toujours une autorité de certification pour fonctionner.
Le chiffrement symétrique utilise la même clé pour chiffrer et déchiffrer, tandis que l’asymétrique utilise une paire de clés.
Le chiffrement asymétrique ne peut être utilisé que pour chiffrer des fichiers volumineux.
Pourquoi a-t-on privilégié l'utilisation d'une clé de session lors des communications sécurisées avec le protocole HTTP?
Parce que la clé de session permet d’éviter l’authentification du serveur par un certificat.
Parce qu’une clé de session ne peut jamais être interceptée pendant l’échange initial.
Parce que le chiffrement symétrique est plus sécurisé que le chiffrement asymétrique en toutes circonstances.
Parce que cela permet un échange plus rapide, tout en conservant un niveau de sécurité élevé grâce au processus de génération des clés.
Laquelle de ces commandes FTP ne nécessite pas une connexion de données ?
RETR
LIST
CWD
STOR
Quelle est la principale différence entre le mode actif et passif pour une communication FTP ?
En mode actif, le serveur FTP se connecte au client pour établir la connexion de données, tandis qu’en mode passif, le client établit la connexion de données au serveur.
En mode actif, la connexion de données est établie sur le même port que la commande de contrôle.
En mode passif, le serveur envoie des données vers le client sans que ce dernier n'ait besoin d'envoyer de demande.
En mode actif, la connexion de commande est établie par le serveur, et en mode passif, elle est établie par le client.
Qu’est-ce que la scalabilité ?
La capacité d’un système à fonctionner uniquement avec des ressources minimales.
La capacité d’un système à améliorer sa sécurité lorsqu'il reçoit plus de demandes.
Capacité d’un système à garder de bonnes performances quand la charge augmente.
La capacité d’un système à se maintenir en fonctionnement sans interruption, quelle que soit la charge.
Il est toujours préférable d'améliorer la scalabilité horizontale avant la scalabilité verticale?
Vrai
Faux
Quelle est l'utilité d'un mécanisme de redondance ?
Assurer la disponibilité et la fiabilité du système en cas de défaillance d'un composant ou d'une ressource.
Améliorer la sécurité du système en cryptant les données sensibles.
Augmenter la capacité du système en ajoutant des ressources de manière linéaire.
Optimiser la vitesse du système en réduisant le nombre de connexions nécessaires.
Lors de l'utilisation d'un Load Balancer, un des avantages du fonctionnement en Proxy TCP est que la connexion peut être redirigée sans aucune intervention du client.
Vrai
Faux
