Compare commits
No commits in common. "b61a76577a6fdcf934b65685bc5db761e646fb10" and "98bfb60ffc2bdf9c5296ecb585e654765464f396" have entirely different histories.
b61a76577a
...
98bfb60ffc
1 changed files with 9 additions and 42 deletions
51
tsock_v1.c
51
tsock_v1.c
|
|
@ -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 reçu : ");
|
printf("message construit : ");
|
||||||
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,14 +142,11 @@ int main (int argc, char **argv)
|
||||||
hp->h_addr,
|
hp->h_addr,
|
||||||
hp->h_length ) ;
|
hp->h_length ) ;
|
||||||
|
|
||||||
for (int i = 0; i < nb_message; i++) {
|
// Construction du message
|
||||||
// Construction du message
|
construire_message(message, 'a', BASE_SIZE);
|
||||||
construire_message(message, 'a' + (i % 26), BASE_SIZE);
|
|
||||||
|
// Envoi du message
|
||||||
// Envoi du message
|
sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest);
|
||||||
|
|
||||||
sendto(sock,message,longueur_message,0,(struct sockaddr*)&adr_dest,longueur_adr_dest);
|
|
||||||
}
|
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
||||||
|
|
@ -157,36 +154,6 @@ 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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue