客户(Client)
- 含义:在计算机上运行的向特定服务器请求服务的程序
- 启动:由用户或者另一个应用程序启动
- 终止:服务完成时终止运行
- 打开方式:主动打开,主动向服务器发送请求服务,要求服务器应答
服务器(Server)
- 含义:在计算机上运行的向任意客户提供服务的程序
- 启动:启动后一直运行
- 终止:由于停电、地震以及系统故障等意外原因被迫终止运行或者由于系统升级等原因人为关闭其运行
- 打开方式:被动打开,被动接受客户的响应并为其提供服务
服务器运行的两种状态:循环和并发
循环
- 含义:程序一个接一个地顺序运行
- 典型案例:使用UDP的服务器,当该服务器接收到一个客户请求并对其做出响应后再接着处理下一个客户请求(一次只响应一个客户请求)。
并发
- 含义:同一时间运行多个程序
- 典型案例:使用TCP的服务器,该服务器的工作流程大致如下:首先由父进程一个接一个地接收客户请求,这与UDP服务器非常类似;接着,由父进程派生出多个子进程(有多少个客户请求,就派生出多少个子进程),然后由这些子进程分别同时对各个客户的请求做出响应。