int main(int argc, char* argv[]) { time_t ticks; ssize_t n; socklen_t len; struct sockaddr_storage ss; char time_buf[BUF_SIZE] = {'\0'}; if (1 != argc) { SYS_LOG("USAGE : %s\n", argv[0]); } daemon_inetd(argv[0], 0); len = sizeof(ss); if (getpeername(0, (struct sockaddr*)&ss, &len)) { SYS_LOG("getpeername : %s\n", strerror(errno)); exit(EXIT_FAILURE); } print_connection_info(&ss); ticks = time(NULL); snprintf(time_buf, sizeof(time_buf), "%.24s\r\n", ctime(&ticks)); SYS_LOG("time is %s\n", time_buf); n = write(0, time_buf, strlen(time_buf)); if (n < 0 && EINTR == errno) { SYS_LOG("write"); exit(EXIT_FAILURE); } close(0); exit(EXIT_SUCCESS); }
int main(int argc, char const *argv[]) { socklen_t len; struct sockaddr *cliaddr; char buff[MAXLINE]; time_t ticks; daemon_inetd(argv[0],LOG_LOCAL2); cliaddr=(struct sockaddr *)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 return 0; }
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(MAXSOCKADDR); len = MAXSOCKADDR; 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); exit(0); }