fix(v3): message format and count

This commit is contained in:
Paul Alnet 2024-03-07 11:59:59 +01:00
parent 586d67665d
commit 332d83ff04

View file

@ -19,7 +19,7 @@
#include <errno.h>
// Remplit le message de lg caractères motif
void construire_message(char* message, char motif, int lg);
void construire_message(char *message, char motif, int lg, int numero_envoi);
// Affichage distinct entre envoi et reception pour une facilité d'utilisation
void afficher_message_envoi(char *message, int lg, int numero_envoi);
@ -172,7 +172,7 @@ int main (int argc, char **argv)
for (int i = 0; i < nb_message; i++) {
// Construction du message
construire_message(message, 'a' + (i % 26), lg);
construire_message(message, 'a' + (i % 26), lg, i+1);
// Envoi du message
afficher_message_envoi(message,lg,i+1);
@ -196,14 +196,14 @@ int main (int argc, char **argv)
}
// Suivi du numéro de message reçu
int k=0;
int k=1;
while (1) {
// Receive a single message because we are lazy
recvfrom(sock, message, lg, 0, NULL, NULL);
k++;
// Afficher notre seule et unique triste message
afficher_message_reception(message, lg, k);
k++;
}
}
} else { // TCP
@ -243,7 +243,7 @@ int main (int argc, char **argv)
// Envoi des messages
for (int i = 0; i < nb_message; i++) {
// Construction du message
construire_message(message, 'a' + (i % 26), lg);
construire_message(message, 'a' + (i % 26), lg, i+1);
afficher_message_envoi(message,lg,i+1);
// Envoi du message
write(sock,message,longueur_message);
@ -284,7 +284,7 @@ int main (int argc, char **argv)
}
// Suivi du numéro de message reçu
int k=0;
int k=1;
while (read(sock_bis, message, longueur_message) > 0) {
afficher_message_reception(message, longueur_message,k);
@ -299,24 +299,17 @@ int main (int argc, char **argv)
}
void construire_message(char *message, char motif, int lg) {
void construire_message(char *message, char motif, int lg, int numero_envoi) {
int i;
for (i=0;i<lg;i++) message[i] = motif;
snprintf(message, lg,"% 5d",numero_envoi);
for (i=5;i<lg;i++) message[i] = motif;
}
void afficher_message_envoi(char *message, int lg, int numero_envoi) {
int i;
printf("SOURCE: Envoi n°%d (%d) [",numero_envoi,lg);
int nb_digits = count_digits(numero_envoi);
for (int l=5; l>nb_digits; l--) {
printf("-");
}
printf("%d",numero_envoi);
for (i=0;i<lg;i++){
for (i=0;i<lg;i++) {
printf("%c", message[i]);
}
printf("]\n");
@ -326,21 +319,13 @@ void afficher_message_reception(char *message, int lg, int numero_envoi) {
int i;
printf("PUITS: Reception n°%d (%d) [",numero_envoi,lg);
int nb_digits = count_digits(numero_envoi);
for (int l=5; l>nb_digits; l--) {
printf("-");
}
printf("%d",numero_envoi);
for (i=0;i<lg;i++){
for (i=0;i<lg;i++) {
printf("%c", message[i]);
}
printf("]\n");
}
int count_digits(int lg) {
int retour;