#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[0], 0); cliaddr = malloc(sizeof(struct sockaddr_storage)); len = sizeof(struct sockaddr_storage); getpeername(0, cliaddr, &len); err_msg("connection from %s", sock_ntop(cliaddr, len)); ticks = time(NULL); snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks)); write(0, buff, strlen(buff)); close(0); /* close TCP connection */ exit(0); }
可由inetd启动的协议无关时间获取服务器程序
猜你喜欢
转载自www.cnblogs.com/soldierback/p/10755663.html
今日推荐
周排行