Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. /* The port number is passed as an argument */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <unistd.h>
  6. #include <sys/types.h>
  7. #include <sys/socket.h>
  8. #include <netinet/in.h>
  9.  
  10. void error(const char *msg)
  11. {
  12. perror(msg);
  13. exit(1);
  14. }
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18. int sockfd, newsockfd, portno;
  19. socklen_t clilen;
  20. char buffer[256];
  21. struct sockaddr_in serv_addr, cli_addr;
  22. int n;
  23. if (argc < 2) {
  24. fprintf(stderr,"ERROR, no port provided\n");
  25. exit(1);
  26. }
  27.  
  28. sockfd = socket(AF_INET, SOCK_STREAM, 0);
  29. if (sockfd < 0)
  30. error("ERROR opening socket");
  31.  
  32. bzero((char *) &serv;_addr, sizeof(serv_addr));
  33.  
  34. portno = atoi(argv[1]);
  35.  
  36. serv_addr.sin_family = AF_INET;
  37.  
  38. serv_addr.sin_addr.s_addr = INADDR_ANY;
  39.  
  40. serv_addr.sin_port = htons(portno);
  41.  
  42. if (bind(sockfd, (struct sockaddr *) &serv;_addr,
  43. sizeof(serv_addr)) < 0)
  44. error("ERROR on binding");
  45.  
  46. if (listen(sockfd,5) < 0)
  47. error(“ERROR on listening”);
  48.  
  49. while(1) {
  50. // The accept() call actually accepts an incoming connection
  51. clilen = sizeof(cli_addr);
  52.  
  53.  
  54. if ((newsockfd = accept(sockfd,(struct sockaddr *) &cli_addr, &clilen)) < 0)
  55. error("ERROR on accept");
  56. HandleTCPClient(newsockfd);
  57.  
  58.  
  59. }
  60.  
  61. }
  62. return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement