Advertisement
Guest User

UDP - ECHO - CLIENTE

a guest
Oct 17th, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <string.h>
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7. #include <arpa/inet.h>
  8. #include <netinet/in.h>
  9.  
  10. #define PORT 8080
  11. #define MAX_SIZE 100
  12.  
  13. // Driver code
  14. int main() {
  15.     int sockfd;
  16.     char msg[MAX_SIZE];
  17.     struct sockaddr_in servaddr;
  18.  
  19.     sockfd = socket(AF_INET, SOCK_DGRAM, 0);
  20.  
  21.     memset(&servaddr, 0, sizeof(servaddr));
  22.      
  23.     servaddr.sin_family = AF_INET;
  24.     servaddr.sin_port = htons(PORT);
  25.     servaddr.sin_addr.s_addr = INADDR_ANY;
  26.      
  27.     int n, len = sizeof(servaddr);;
  28.      
  29.     while(1){
  30.       printf("Enter message:\n");
  31.       memset(&msg, 0, sizeof msg);
  32.       fgets(msg, MAX_SIZE, stdin);
  33.       n = strlen(msg);
  34.       msg[n-1] = '\0';
  35.       sendto(sockfd, (char*) msg, MAX_SIZE, MSG_CONFIRM, (struct sockaddr *) &servaddr, len);
  36.       if(msg[0] == '#') break;
  37.       recvfrom(sockfd, (char*) msg, MAX_SIZE, MSG_WAITALL, (struct sockaddr *) &servaddr, (socklen_t *) &len);
  38.       printf("Received and sent: %s\n", msg);
  39.     }
  40.  
  41.     close(sockfd);
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement