Advertisement
Guest User

UDP - ECHO - SERVIDOR

a guest
Oct 17th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 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. int main() {
  14.     int sockfd;
  15.     char msg[MAX_SIZE];
  16.     struct sockaddr_in servaddr, cliaddr;
  17.      
  18.     sockfd = socket(AF_INET, SOCK_DGRAM, 0);
  19.      
  20.     memset(&servaddr, 0, sizeof(servaddr));
  21.     memset(&cliaddr, 0, sizeof(cliaddr));
  22.      
  23.     servaddr.sin_family = AF_INET;
  24.     servaddr.sin_addr.s_addr = INADDR_ANY;
  25.     servaddr.sin_port = htons(PORT);
  26.      
  27.     bind(sockfd, (const struct sockaddr *)&servaddr, sizeof(servaddr));
  28.      
  29.     while(1){
  30.       int len = sizeof(cliaddr);
  31.       recvfrom(sockfd, (char*) msg, MAX_SIZE,  0, (struct sockaddr *) &cliaddr, (socklen_t *) &len);
  32.       if(msg[0] == '#') break;
  33.       sendto(sockfd, (char*) msg,  strlen(msg), 0, (struct sockaddr *) &cliaddr, len);
  34.       printf("Received and set: %s\n", msg);
  35.     }
  36.     close(sockfd);
  37.  
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement