Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: Opdracht6.c
- * Author: Wouter
- *
- * Created on 20 oktober 2011, 19:05
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <string.h>
- #include <netdb.h>
- #include <sys/types.h>
- #include <netinet/in.h>
- #include <sys/socket.h>
- #include <arpa/inet.h>
- #include <time.h>
- #define MAXDATASIZE 1024
- int main(int argc, char** argv)
- {
- int sockfd, bytes;
- int PORT = 123;
- unsigned long buffer[1024];
- char size[INET_ADDRSTRLEN];
- struct sockaddr_in server_addr;
- struct sockaddr_storage their_addr;
- socklen_t fromlen;
- struct protoent *proto;
- char msg[48]={010,0,0,0,0,0,0,0,0}; //the packet that will be send
- time_t servertime;
- char *ip="193.190.198.10"; // IP address from ntp.belnet.be
- memset(&server_addr, 0, sizeof server_addr); //memset cleart hints
- server_addr.sin_family = AF_INET;
- server_addr.sin_addr.s_addr = inet_addr(ip);
- server_addr.sin_port = htons(PORT);
- proto=getprotobyname("udp");
- if ((sockfd = socket(PF_INET, SOCK_DGRAM, proto->p_proto))==-1)
- {
- perror("socket returns -1");
- }
- printf("client: connecting to: %s\n", size);
- printf("%s", msg);
- int sendinfo = sendto(sockfd, msg, sizeof(msg), 0, (struct sockaddr *)&server_addr, sizeof(server_addr));
- if (sendinfo == -1)
- {
- perror("send returns -1");
- exit(1);
- }
- fromlen = sizeof(their_addr);
- bytes = recvfrom(sockfd, buffer, sizeof(buffer),0, (struct sockaddr *)&their_addr, &fromlen);
- if (bytes == -1)
- {
- perror("");
- }
- servertime=((time_t)buffer[10]);
- servertime = ntohl(servertime);
- servertime -= 2208988800U;
- printf("Time: %s", ctime(&servertime));
- close(sockfd);
- return (EXIT_SUCCESS);
- return 0;
- }
Add Comment
Please, Sign In to add comment