/*
* daytime.c
*
* Programmed by G. Adam Stanislav
* 19 June 2001
*/
#include
<stdio.h
>#include
<string.h
>#include
<sys/types.h
>#include
<sys/socket.h
>#include
<netinet/in.h
>#include
<netdb.h
>int main(int argc, char *argv[]) {
register int s;
register int bytes;
struct sockaddr_in sa;
struct hostent *he;
char buf[BUFSIZ+1];
char *host;
if ((s = socket(PF_INET, SOCK_STREAM, 0))
< 0) {
perror("socket");
return 1;
}
bzero(
&sa, sizeof sa);
sa.sin_family = AF_INET;
sa.sin_port = htons(13);
host = (argc
> 1) ? (char *)argv[1] : "time.nist.gov";
if ((he = gethostbyname(host)) == NULL) {
herror(host);
return 2;
}
bcopy(he-
>h_addr_list[0],
&sa.sin_addr, he-
>h_length);
if (connect(s, (struct sockaddr *)
&sa, sizeof sa)
< 0) {
perror("connect");
return 3;
}
while ((bytes = read(s, buf, BUFSIZ))
> 0)
write(1, buf, bytes);
close(s);
return 0;
}