1 #include <sys/types.h> /* predefined types */
2 #include <unistd.h> /* include unix standard library */
3 #include <arpa/inet.h> /* IP addresses conversion utililites */
4 #include <sys/socket.h> /* socket library */
5 #include <stdio.h> /* include standard I/O library */
8 int main(int argc, char *argv[])
12 struct sockaddr_in serv_add, client;
19 /* write daytime to client */
21 if ( (conn_fd = accept(list_fd, (struct sockaddr *)&client, &len))
23 perror("accept error");
26 /* fork to handle connection */
27 if ( (pid = fork()) < 0 ){
31 if (pid == 0) { /* child */
34 snprintf(buffer, sizeof(buffer), "%.24s\r\n", ctime(&timeval));
35 if ( (write(conn_fd, buffer, strlen(buffer))) < 0 ) {
36 perror("write error");
40 inet_ntop(AF_INET, &client.sin_addr, buffer, sizeof(buffer));
41 printf("Request from host %s, port %d\n", buffer,
42 ntohs(client.sin_port));
50 /* normal exit, never reached */