请给出并发的面向连接服务器(多进程)设计算法,图示出进程结构,并说明这种类型的服务器的优缺点。
并发的面向连接的服务器的设计算法如下
面向连接的服务器在多个连接之间实现并发(不是在各个请求之间)
① 主 1 、创建套接字并将其绑定到所提供服务的熟知地址上。让该套接字保持为面向连接
② 主 2 、将该端口设置为被动模式
③ 主 3 、反复调用 accept 以便接收来自客户的下一个连接请求,并创建新的从线程或者进程来处理响应
④ 从 1 、由主线程传递来的连接请求开始
⑤ 从 2 、用该连接与客户进行交互;读取请求并发回响应
⑥ 从 3 、关闭连接并退出
优点:一个时刻可以处理多个请求,性能好
缺点:实现复杂,难以构建和设计