Compare commits

..

3 commits

Author SHA1 Message Date
b61a76577a feat(v1): send abcd 2024-03-01 16:40:23 +01:00
8587904b9c fix(afficher_message): no more aaaaa 2024-03-01 16:30:54 +01:00
10a15c0c43 feat(puit): v1 sans boucle 2024-03-01 16:29:29 +01:00

View file

@ -26,11 +26,11 @@ void construire_message(char *message, char motif, int lg) {
void afficher_message(char *message, int lg) { void afficher_message(char *message, int lg) {
int i; int i;
printf("message construit : "); printf("message reçu : ");
for (i=0;i<lg;i++){ for (i=0;i<lg;i++){
printf("%c", message[i]); printf("%c", message[i]);
printf("\n");
} }
printf("\n");
} }
@ -113,11 +113,11 @@ int main (int argc, char **argv)
} }
if (udp==1){ if (udp==1){
// Creation du socket local
int sock= socket(AF_INET,SOCK_DGRAM,0);
if (source==1) { if (source==1) {
// Creation du socket local
int sock= socket(AF_INET,SOCK_DGRAM,0);
// Creation de l'adresse du socket distant // Creation de l'adresse du socket distant
@ -142,11 +142,14 @@ int main (int argc, char **argv)
hp->h_addr, hp->h_addr,
hp->h_length ) ; hp->h_length ) ;
// Construction du message for (int i = 0; i < nb_message; i++) {
construire_message(message, 'a', BASE_SIZE); // Construction du message
construire_message(message, 'a' + (i % 26), BASE_SIZE);
// Envoi du message
sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest); // Envoi du message
sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest);
}
exit(0); exit(0);
@ -154,6 +157,36 @@ int main (int argc, char **argv)
else { else {
// Creation de l'adresse du socket distant
struct sockaddr_in adr_locale;
int longueur_adr_locale = sizeof(adr_locale);
int longueur_message = BASE_SIZE;
memset((char *)& adr_locale, 0, sizeof(adr_locale)) ;
adr_locale.sin_family=AF_INET;
adr_locale.sin_port=port;
adr_locale.sin_addr.s_addr = INADDR_ANY;
// Bind the local socket to any local address (ie any available interface)
if (bind(sock, (struct sockaddr *) &adr_locale, longueur_adr_locale) == -1) {
printf("failed to bind\n");
exit(1);
}
while (1) {
// Receive a single message because we are lazy
recvfrom(sock, message, longueur_message, 0, NULL, NULL);
// Afficher notre seule et unique triste message
afficher_message(message, longueur_message);
}
exit(0);
} }
} }