此篇博文主要讲解如何动态创建进程的方法,此方法模型如下:
<span style="font-size:18px;">main{
ps=socket();
bind();
listen();
while(1){
cs=accept();
if(cs){
pid=fork();
if(pid==0){//子进程处理
close(ps);
do_child(cs);
}
else{//父进程处理
.......
close(cs);
}
}
}
}
do_child(cs){
read();
write();
close(cs);
}</span>
下面用代码介绍如何使用此种模型:
服务端程序:
<span style="font-size:18px;">#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define BUFFLEN 1024
#define SERVER_PORT 8888
#define BACKLOG 5
static void handle