1 #include <sys/types.h> /* predefined types */
2 #include <unistd.h> /* include unix standard library */
3 #include <arpa/inet.h> /* IP addresses conversion utilities */
4 #include <sys/socket.h> /* socket library */
5 #include <stdio.h> /* include standard I/O library */
7 int main(int argc, char *argv[])
11 struct sockaddr_in serv_add;
15 if ( (sock_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
16 perror("Socket creation error");
19 /* initialize address */
20 memset((void *) &serv_add, 0, sizeof(serv_add)); /* clear server address */
21 serv_add.sin_family = AF_INET; /* address type is INET */
22 serv_add.sin_port = htons(13); /* daytime post is 13 */
23 /* build address using inet_pton */
24 if ( (inet_pton(AF_INET, argv[optind], &serv_add.sin_addr)) <= 0) {
25 perror("Address creation error");
28 /* extablish connection */
29 if (connect(sock_fd, (struct sockaddr *)&serv_add, sizeof(serv_add)) < 0) {
30 perror("Connection error");
33 /* read daytime from server */
34 while ( (nread = read(sock_fd, buffer, MAXLINE)) > 0) {
36 if (fputs(buffer, stdout) == EOF) { /* write daytime */
37 perror("fputs error");