-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatetimes.c
41 lines (36 loc) · 1.04 KB
/
datetimes.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/****************************************************/
/************* datetime Example Server **************/
/****************************************************/
#include "datetime.h"
#include <time.h>
int main( int argc , char ** argv )
{
int listenfd , connfd;
struct sockaddr_in servaddr;
char buff[ MAXLINE ];
time_t ticks;
int pid;
listenfd = socket( AF_INET , SOCK_STREAM , 0 );
memset( &servaddr , 0 , sizeof( servaddr ) );
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl( INADDR_ANY );
servaddr.sin_port = htons( 13 );
bind( listenfd , (struct sockaddr *)&servaddr , sizeof( servaddr ) );
listen( listenfd , 1024 );
for( ; ; )
{
connfd = accept( listenfd , (struct sockaddr *)NULL , NULL );
if ((pid = fork()) == 0)
{
close(listenfd);
for (int i = 1; i <= 1000000; ++i)
{
ticks = time( NULL );
snprintf( buff , sizeof( buff ) , "%.24s\r\n" , ctime( &ticks ) );
write( connfd , buff , strlen( buff ) );
}
exit(0);
}
close( connfd );
}
}