#include #include #include #include #include #include #include #include #include #define SIZE 1024 char buf[SIZE]; #define TIME_PORT 19005 int main(int argc, char *argv[]) { int sockfd; int nread; struct sockaddr_in serv_addr; struct hostent *host; if (argc != 2) { fprintf(stderr, "usage: %s IPaddr\n", argv[0]); exit(1); } /* create endpoint */ if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror(NULL); exit(2); } /* connect to server */ serv_addr.sin_family = AF_INET; host = gethostbyname(argv[1]); memcpy(&serv_addr.sin_addr.s_addr, host->h_addr, host->h_length); serv_addr.sin_port = htons(TIME_PORT); if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) { perror(NULL); exit(3); } /* transfer data */ nread = read(sockfd, buf, SIZE); write(1, buf, nread); close(sockfd); exit(0); }