Advertisement
Benlahbib_Abdessamad

cl

May 21st, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <sys/socket.h>
  2. #include <netinet/in.h>
  3. #include <arpa/inet.h>
  4. #include <stdlib.h>
  5. #include <errno.h>
  6. #include <stdio.h>
  7. #include <unistd.h>
  8. #include <string.h>
  9.  
  10. void printconnerror()
  11. {
  12. switch (errno) {
  13. case ETIMEDOUT : printf("Connection timed out.\n"); break;
  14. case ECONNREFUSED : printf("Connection refused.\n"); break;
  15. case EHOSTDOWN : printf("Host down.\n"); break;
  16. case EHOSTUNREACH : printf("No route to the host.\n"); break;
  17. case ENETUNREACH : printf("Network unreachable.\n"); break;
  18. default: printf("errno = %d\n", errno);
  19. }
  20. }
  21.  
  22.  
  23. int main(int argc, char * argv[])
  24. {
  25. int sockfd, i,new_socket,rec_socket,randomport;
  26. struct sockaddr_in addr,addr_new;
  27. char buf[100];
  28.  
  29. if (argc < 3) {
  30. printf("Usage: %s ip_addr port.\n",argv[0]);
  31. exit(0);
  32. }
  33.  
  34. if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
  35. perror(": Can't get socket");
  36. exit(1);
  37. }
  38.  
  39. memset(&addr, 0, sizeof(struct sockaddr_in));
  40. addr.sin_family = AF_INET;
  41. addr.sin_port = htons(atoi(argv[2]));
  42. addr.sin_addr.s_addr = inet_addr(argv[1]);
  43.  
  44. if (connect(sockfd, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
  45. printconnerror();
  46. perror(": connect");
  47. exit(1);
  48. }
  49.  
  50. for (i=0; i<100; i++)
  51. buf[i] = '\0';
  52. read(sockfd, buf, 99);
  53. printf("string read = %s\n", buf);
  54.  
  55.  
  56. // get a random Port
  57. randomport=randomPort();
  58.  
  59. // Send The port to server.
  60. write(sockfd,randomport, 5);
  61.  
  62.  
  63.  
  64. return 0;
  65. }
  66.  
  67.  
  68. int getrandomPort()
  69. {
  70. srand(time(NULL));
  71. int r = rand();
  72. r = rand()*10;
  73. return r;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement