Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <unistd.h>
  5. #include <stdint.h>
  6. #include <netdb.h>
  7. #include <sys/types.h>
  8. #include <sys/socket.h>
  9. #include <netinet/in.h>
  10. #include <arpa/inet.h>
  11.  
  12. int open_listenfd(int port)
  13. {
  14. int listenfd, optval = 1;
  15. struct sockaddr_in serveraddr;
  16.  
  17. if ((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  18. return -1;
  19.  
  20. if (setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR,
  21. (const void *) &optval, sizeof(int)) < 0)
  22. return -1;
  23.  
  24. bzero((char *) &serveraddr, sizeof(serveraddr));
  25. serveraddr.sin_family = AF_INET;
  26. serveraddr.sin_addr.s_addr = htonl(INADDR_ANY);
  27. serveraddr.sin_port = htons((unsigned short) port);
  28. if (bind(listenfd, (struct sockaddr *) &serveraddr, sizeof(serveraddr)) < 0)
  29. return -1;
  30.  
  31. if (listen(listenfd, 1) < 0)
  32. return -1;
  33. return listenfd;
  34. }
  35.  
  36.  
  37. int main(int argc, char **argv)
  38. {
  39. int listenfd, port;
  40. int clientlen, connfd;
  41.  
  42. struct sockaddr_in clientaddr;
  43. char filename[50];
  44. filename = argv[1];
  45.  
  46. port = atoi(argv[2]);
  47. listenfd = open_listenfd(port);
  48. while(1)
  49. {
  50. clientlen = sizeof(clientaddr);
  51. connfd = accept(listenfd, (struct sockaddr *) &clientaddr, &clientlen);
  52. printf("server started\n");
  53.  
  54. }
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement