WEBVTT

00:04.970 --> 00:09.500
Passons maintenant en revue les points à noter concernant ce projet.

00:10.190 --> 00:14.780
La fonction de hachage qui renvoie le numéro de nœud pour une valeur clé k.

00:14.810 --> 00:21.230
La fonction de hachage peut être aussi simple que k mod n, où n est le nombre total de nœuds dans la topologie

00:21.260 --> 00:22.190
en anneau.

00:22.670 --> 00:29.090
Si votre numéro de nœud dans la topologie en anneau commence par zéro, vous pouvez omettre le plus un dans cette fonction

00:29.090 --> 00:29.900
de hachage.

00:29.990 --> 00:35.270
Sinon, il suffit d'ajouter un plus un à la définition de la fonction de hachage.

00:36.550 --> 00:38.170
Chaque nœud de l'anneau.

00:38.200 --> 00:45.310
La topologie est un serveur TCP et un serveur UDP, ainsi qu'un client TCP et un client UDP.

00:45.520 --> 00:52.540
Cela signifie que chaque nœud de votre topologie en anneau joue quatre rôles en même

00:52.540 --> 00:53.160
temps.

00:53.170 --> 00:58.510
Il s'agit du serveur TCP, du serveur UDP ainsi que du client TCP et du client UDP.

00:59.320 --> 01:03.490
Le client est tout processus qui initie la communication.

01:03.700 --> 01:12.340
Ainsi, comme je l'ai expliqué lors de la discussion du pseudocode, vous devez ouvrir un socket maître TCP, un socket UDP et les surveiller tous

01:12.340 --> 01:15.190
les deux dans l'appel système sélectionné.

01:15.730 --> 01:24.280
En outre, vos nœuds doivent également être en mesure d'accepter les demandes d'accès des utilisateurs à la console, qui agit en tant que client avec un

01:24.280 --> 01:27.420
descripteur de fichier de communication égal à zéro.

01:27.460 --> 01:35.680
Gardez donc toujours zéro comme membre de votre jeu de lecture et surveillez le descripteur de fichier zéro dans l'appel système

01:35.680 --> 01:36.640
sélectionné.

01:37.060 --> 01:45.100
Notez que vous devez écrire exactement un fichier C et non pas autant de programmes C que le nombre de nœuds dans la

01:45.100 --> 01:46.060
topologie.

01:46.240 --> 01:52.780
J'ai remarqué que les étudiants sont désorientés et pensent qu'ils doivent écrire autant de programmes C que

01:52.780 --> 01:55.030
le nombre de nœuds dans la topologie.

01:55.060 --> 02:02.750
Non, vous devez écrire un seul programme C et ce programme C particulier représente en fait un nœud générique

02:02.750 --> 02:04.880
de la topologie de l'anneau.

02:05.420 --> 02:10.790
Vous devez fournir des arguments de ligne de commande lors de l'exécution de votre projet.

02:10.820 --> 02:18.680
Ces arguments de ligne de commande définiront que le processus que vous venez de lancer représente en fait quel nœud

02:18.680 --> 02:20.870
de la topologie de l'anneau.

02:20.930 --> 02:27.230
Nous avons déjà parlé des arguments de ligne de commande que vous devez passer dès le début.

02:27.530 --> 02:29.130
Bonne chance les gars.

02:29.150 --> 02:32.680
Prenez le temps de comprendre et de concevoir votre application.

02:32.690 --> 02:36.110
Prenez vos propres hypothèses lorsque c'est nécessaire.

02:36.140 --> 02:41.630
Par exemple, remplacer la valeur de X pour une demande de duplication de x.

02:41.750 --> 02:48.980
Cela signifie simplement qu'il est possible que l'utilisateur ait émis la demande plus tôt, par exemple

02:48.980 --> 02:49.940
22 et 35.

02:50.120 --> 02:50.920
C'est vrai ?

02:50.930 --> 02:57.830
Un peu plus tard, l'utilisateur émet à nouveau la demande 20 à 45.

02:57.830 --> 02:58.560
C'est vrai.

02:58.580 --> 03:02.210
Donc plus tôt pour K est égal à 22.

03:02.240 --> 03:09.440
La valeur de X était de 35, enregistrée dans la table de hachage d'un nœud de la topologie en anneau.

03:10.150 --> 03:17.350
Là encore, si l'utilisateur émet une demande put pour la même clé mais avec une valeur x différente,

03:17.350 --> 03:25.480
vous êtes libre de remplacer la valeur x dans la table de hachage du nœud qui stocke les valeurs précédentes

03:25.510 --> 03:27.010
de k et x.

03:27.900 --> 03:31.650
J'ai donc une solution approximative pour ce projet.

03:31.650 --> 03:39.180
Vous pouvez télécharger la solution ici pour vous faire une idée de la mise en œuvre de ce projet, mais

03:39.180 --> 03:46.110
je vous encourage à mettre en œuvre ce projet par vous-même sans consulter le code source.

03:46.350 --> 03:53.820
Mais si vous êtes bloqué ou si vous n'avez pas d'idée sur la façon d'avancer, vous pouvez télécharger ce code

03:53.820 --> 04:00.720
source et le parcourir si possible pour voir comment vous allez mettre en œuvre votre solution.
