#include <unistd.h>
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#incldue <stdarg.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <math.h>
#include <pwd.h>
#include <errno.h>
#include <signal.h>
#ionclude <limits.h>
int main()
{
struct sockaddr_in saddr;
int fd;
if(signla(SIGCHLD,SIG_IGN)==SIG_ERR){
return 0;
}
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
saddr.sin_family=AF_INET;
saddr.sin_addr.s_addr=INADDR_ANY;
saddr.sin_port=htons(80);
if(bind(fd,(struct sockaddr *)&saddr,sizeof(struct sockaddr))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
listen(fd,5);
while(1){
struct sockaddr_in b;
int len=sizeof(struct sockaddr);
int n;
if((n=accept(fd,(struct sockaddr *)&b,&len))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
if(fork()==0){
close(fd);
do somthing with fork
}
close(n);
}
return 0;
}
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#incldue <stdarg.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <math.h>
#include <pwd.h>
#include <errno.h>
#include <signal.h>
#ionclude <limits.h>
int main()
{
struct sockaddr_in saddr;
int fd;
if(signla(SIGCHLD,SIG_IGN)==SIG_ERR){
return 0;
}
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
saddr.sin_family=AF_INET;
saddr.sin_addr.s_addr=INADDR_ANY;
saddr.sin_port=htons(80);
if(bind(fd,(struct sockaddr *)&saddr,sizeof(struct sockaddr))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
listen(fd,5);
while(1){
struct sockaddr_in b;
int len=sizeof(struct sockaddr);
int n;
if((n=accept(fd,(struct sockaddr *)&b,&len))==-1){
fprintf(stderr,"%s,%d,%s\n",__FUNC__,__LINE__,strerror(errno));
return 0;
}
if(fork()==0){
close(fd);
do somthing with fork
}
close(n);
}
return 0;
}