可由inetd启动的协议无关时间获取服务器程序

时间:2023-03-08 19:13:34
可由inetd启动的协议无关时间获取服务器程序
#include    <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h> #define MAXLINE 4096 char *sock_ntop(const struct sockaddr *, socklen_t);
void daemon_inetd(const char *, int);
void err_msg(const char *, ...); int main(int argc, char **argv)
{
socklen_t len;
struct sockaddr *cliaddr;
char buff[MAXLINE];
time_t ticks; daemon_inetd(argv[], ); cliaddr = malloc(sizeof(struct sockaddr_storage));
len = sizeof(struct sockaddr_storage);
getpeername(, cliaddr, &len);
err_msg("connection from %s", sock_ntop(cliaddr, len)); ticks = time(NULL);
snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));
write(, buff, strlen(buff)); close(); /* close TCP connection */
exit();
}