C/S方式所描述的是进程之间服务和被服务的关系。客户是服务的请求方,服务器是服务的提供方。服务的请求方和提供方都要使用网络核心部分所提供的服务。
客户程序被用户调用后运行,在通信时主动向远地服务器发起通信(服务请求)。因此,客户程序必须知道服务器程序的地址。客户程序不需要特殊的硬件和很复杂的操作系统。服务器程序是某种专门用于提供服务的程序,可同时处理多个远地或本地的请求。服务器程序在系统启动后即自动调用并一直不断的运行着,被动等待和接受来自各地的客户的请求。因此,服务器程序无需知道客户程序的地址,并且一般都需要拥有强大的硬件和复杂的操作系统支持。
客户和服务器建立通信关系后,通信可以是双向的,客户和服务器双方都可以发送和接受数据。
对等通信(P2P)是指两台主机在通信时并不区分哪一个是服务的请求方,哪一个是服务的提供方。只要两台主机都运行了对等连接软件,他们就可以进行平等的,对等连接通信。
实际上,P2P从本质上看仍是C/S,只是其中的每一台主机都可以看作是服务器或者客户机。 P2P可以看作是C/S的双向应用。