并发服务器端的实现方法
并发服务器可同时向发起请求的客户端提供服务,以提高平均满意度和有效利用cpu。实现模型和方法:
多进程服务器 ,多路复用服务器 ,多线程服务器。
理解进程
进程:占用内存空间的的正在运行的程序。
如果父进程终止,处于僵尸状态的子进程将同时销毁。
父进程往往与子进程一样繁忙,因此不能只调用waitpid函数以等待子进程终止。
可利用信号处理技术消灭僵尸进程,子进程终止时将产生SIGCHLD信号。
基于进程的并发服务器模型
一:服务器端(父进程)通过调用accept函数受理连接请求
二:此时获取的套接字文件描述符创建并传递给子进程。
三:子进程利用传递来的文件描述符提供服务
分割TCP的I/O程序
客户端的父进程负责接收数据,额外创建的子进程负责发送数据。
这样,无论客户端是否从服务器端接收完整数据都可以进行传输。