Advertisement
1fractal

Untitled

Sep 22nd, 2020
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <sys/socket.h>
  2. #include <sys/types.h>
  3. #include <netinet/in.h>
  4. #include <sys/stat.h>
  5. #include <fcntl.h>
  6. #include <stdlib.h>
  7. #include <stdio.h>
  8. #include <string.h>
  9. #include <unistd.h>
  10. #include <arpa/inet.h>
  11.  
  12.  
  13. int main(int argc, char **argv)
  14. {
  15.     int sockfd;
  16.     socklen_t addrlen;
  17.     struct sockaddr_in dest;
  18.  
  19.     // check the number of args on command line
  20.     if(argc != 4)
  21.     {
  22.         printf("USAGE: %s @dest port_num string\n", argv[0]);
  23.         exit(-1);
  24.     }
  25.  
  26.         // socket factory
  27.         if((sockfd = socket(...)) == -1)
  28.         {
  29.                 perror("socket");
  30.                 exit(EXIT_FAILURE);
  31.         }
  32.  
  33.         // init remote addr structure and other params
  34.         dest.sin_family = AF_INET;
  35.         dest.sin_port   = htons(atoi(argv[2]));
  36.         addrlen         = sizeof(struct sockaddr_in);
  37.  
  38.         // get addr from command line and convert it
  39.         if(inet_pton(...) != 1)
  40.         {
  41.                 perror("inet_pton");
  42.                 close(sockfd);
  43.                 exit(EXIT_FAILURE);
  44.         }
  45.  
  46.         // send string
  47.         if(sendto(...) == -1)
  48.         {
  49.                 perror("sendto");
  50.                 close(sockfd);
  51.                 exit(EXIT_FAILURE);
  52.         }
  53.  
  54.         // close the socket
  55.         close(sockfd);
  56.  
  57.         return 0;
  58. }
  59.  
  60.  
  61.  
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement