《unix-os教学课》第九章 unix网络程序设计.ppt

《unix-os教学课》第九章 unix网络程序设计.ppt

《unix-os教学课》第九章 unix网络程序设计

非连接的循环服务器程序设计方法 创建套接字并将其绑定到所提供服务的熟知端口上 重复读取来自客户的请求,构造响应,按照应用协议向客户发回响应。 无连接循环服务器的进程结构 非连接服务器应答构造 服务器从收到的请求中的源地址获得应答的地址。调用recvfrom得到数据和对方的地址。 retcode = recvfrom(s, buf, len, flags, from, fromlen); 无连接服务器使用sendto发生数据报:指明了发送的数据报和它将去的地址 retcode = sendto (s, msg, len, flags, toaddr, toaddrlen); 无连接循环服务器程序应用举例 并发服务器程序的设计方法 两种形式的并发性:多进程(实现多线程)和单进程(实现多线程) 服务器创建多个进程,每个进程都有一个主执行线程 服务器在一个进程中创建多个执行线程 多线程实现并发服务器的基本算法 主线程最先开始执行在熟知端口上打开一个套接字,等待一个请求,并为每个请求创建一个从线程(可能在一个新进程中) 主线程不与客户直接通信,每个从线程处理一个客户的通信。 从线程构成响应并发送给客户后,这个从线程便退出。 多进程实现并发服务器的进程结构 服务器包括一个主进程,以及零个或者多个从进程。每个进程中运行一个线程 主服务器使用accept阻塞调用,节约CPU资源,连接到来的时候

文档评论(0)

1亿VIP精品文档

相关文档