Daemon Thread
Daemon Thread
Client:
#include<sys/socket.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<netdb.h>
#include<stdio.h>
#include<strings.h>
#include<stdlib.h>
#include<unistd.h>
int main( )
printf("Enter port");
scanf("%d", &port);
printf("socket error");
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(port);
printf("connect error");
recvline[n] = 0;
printf("fputs error");
if (n < 0)
printf("read error");
close(sockfd);
exit(0);
}
Server:
#include<time.h>
#include <sys/stat.h>
#include<fcntl.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include <string.h>
#include<signal.h>
#include<syslog.h>
#define MAXFD 64
char buff[1024];
time_t ticks;
int port;
scanf("%d",&port);
daemon_init(argv[0], 0);
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = INADDR_ANY;
memset(&(servaddr.sin_zero),'\0',8);
listen(listenfd, 5);
len = addrlen;
ticks = time(NULL);
close(connfd);
}
int i;
pid_t pid;
else if (pid)
/* child 1 continues... */
return (-1);
signal(SIGHUP, SIG_IGN);
return (-1);
else if (pid)
/* child 2 continues... */
open("/dev/null", 444);
open("/dev/null", 666);
open("/dev/null", O_RDWR);