服务器应用程序实现全解析
服务器基础概念
服务器是分布式应用的一部分,为应用中的其他部分(客户端)提供服务。客户端与服务器通信以使用其提供的服务。通常,服务器在客户端 - 服务器通信过程中扮演被动角色,启动时会绑定到主机上特定的知名端口,然后等待客户端的请求。
根据服务器提供的服务不同,请求处理的含义也不同。例如,HTTP 服务器通常会读取请求消息中指定的文件内容并返回给客户端;代理服务器则会将客户端请求重定向到其他服务器进行实际处理。还有一些特定服务器会对客户端请求中的数据进行复杂计算,并将结果返回给客户端。
并非所有服务器都扮演被动角色,有些服务器会主动向客户端发送消息,这种通信模式称为推送式通信,在现代 Web 应用中越来越受欢迎。
服务器应用程序可以从以下几个维度进行分类:
- 功能或服务类型 :根据服务器为客户端提供的功能或服务进行分类。
- 传输层协议 :常用的有 TCP 协议、UDP 协议,同时支持 TCP 和 UDP 协议的服务器称为多协议服务器。
- 服务客户端的方式 :
- 迭代服务器 :逐个服务客户端,在完成当前客户端的服务之前,不会开始服务下一个客户端。
- 并行服务器 :可以并行服务多个客户端。在单处理器计算机上,并行服务器通过在不同客户端之间切换实现伪并行;在多处理器计算机上,可以实现真正的并行。
- 同步或异步 :
-