Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <sys/types.h>
  4. #include <sys/socket.h>
  5. #include <netdb.h>
  6. #include <string.h>
  7. #include <unistd.h>
  8. #include <time.h>
  9. char* createLine(int size) {
  10. unsigned char* line=malloc(sizeof(char)*size);
  11.  
  12. return line;
  13. }
  14. char* createPackage() {
  15. unsigned char** package=malloc(sizeof(char*)*(12));
  16.  
  17. // Header line
  18. unsigned char* header = createLine(4);
  19. header[0]=35;//VN=4, Mode=3
  20. package[0]= header;
  21.  
  22. unsigned char*tmp=0;
  23. //Temporary set to null
  24. // package[1]= createLine(4);
  25. // package[2]= createLine(4);
  26. // package[3]= createLine(4);
  27. //
  28. //
  29. // package[4]= createLine(8);
  30. // package[5]= createLine(8);
  31. // package[6]= createLine(8);
  32. // package[7]= createLine(8);
  33.  
  34. package[1]= tmp;
  35. package[2]= tmp;
  36. package[3]= tmp;
  37.  
  38.  
  39. package[4]= tmp;
  40. package[5]= tmp;
  41. package[6]= tmp;
  42. package[7]= tmp;
  43.  
  44. return package;
  45. }
  46.  
  47.  
  48. int main(int argc,char** argv)
  49. {
  50. // Build the package
  51. char* myPackage = createPackage();
  52.  
  53.  
  54. char* port = "123";//argv[2];
  55. char* address ="0.de.pool.ntp.org";// argv[1];
  56. //initialize attributes of getaddrinfo function in order to get the ip adress of server
  57. struct addrinfo hints, *servinfo, *p;
  58. int client_socket;
  59. memset(&hints, 0, sizeof(hints));
  60. hints.ai_family = AF_INET;
  61. hints.ai_socktype = SOCK_DGRAM;
  62. int rv;
  63. if ((rv = getaddrinfo(address, port, &hints, &servinfo)) != 0) {
  64. fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
  65. exit(1);
  66. }
  67. //creates a socket and connects it to a server
  68. struct timespec start, end;
  69. clock_gettime(CLOCK_MONOTONIC,&start);
  70. for(p = servinfo;p!=NULL;p=p->ai_next)
  71. {
  72. if((client_socket = socket(p->ai_family,p->ai_socktype,p->ai_protocol)) == -1)
  73. {
  74. perror("socket");
  75. continue;
  76. }
  77. // Connected succesfully!
  78.  
  79.  
  80. break;
  81. }
  82. if(p == NULL)
  83. {
  84. fprintf(stderr, "Not connected succesfully");
  85. }
  86. char buffer[1024];
  87. //while(1){
  88.  
  89. socklen_t addrsize = sizeof servinfo;
  90.  
  91. sendto(client_socket,myPackage,10,0,p->ai_addr,p->ai_addrlen);
  92.  
  93. recvfrom(client_socket,buffer,1024,0,NULL,NULL);
  94. printf("\n %s",buffer);
  95. clock_gettime(CLOCK_MONOTONIC,&end);
  96. float diff = end.tv_nsec - start.tv_nsec;
  97. printf("\n%f\n",diff/1000000);
  98.  
  99.  
  100. //}
  101.  
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement