随笔服务器不能用
2015-07-28 19:40
309 查看
#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;
}
相关文章推荐
- 随笔定时框架
- android.database.sqlite.SQLiteException: near "order": syntax error (code 1):数据库报错
- Android AIDL 小记录
- 聊聊css盒子模型
- Linux route添加静态路由
- day11
- Spark学习笔记-安装部署与运行实例
- hdu 5316 Magician 线段树
- Level-Set Method
- The kth great number
- APP设计标准干货
- hdu 5316 Magician 线段树
- java.lang.IllegalArgumentException: sheetName '' is invalid
- iOS7光标问题
- HDU 5326 work (回溯,树)
- shell
- POJ 1321-棋盘问题(DFS 递归)
- zookeeper 和分布式系统的一般问题
- TinyXML:一个优秀的C++ XML解析器
- 【计蒜客系列】挑战难题23:计数和数数