C/S模型即客户(client)/服务器(server)模型。
1.特点
服务器提供服务,客户请求服务。
2.客户端和服务器之间连接的数量对应关系
多个客户进程可以同时访问一个服务进程,一个客户进程可以同时访问多个服务器进程提供的服务。
3.客户端和服务器所在不同网络位置所适用的场合
运行在同一个机器上的场合,应用于网络应用程序开发测试。
运行在同一个局域网内的不同机器上的场合,应用于局域网文件共享、局域网打印机。
运行于广域网不同机器上的场合,应用于最常见的网络应用程序。
4.客户端和服务器的角色关系
应用程序仅作为客户运行,如Web服务器。
应用程序仅作为服务器运行,如局部基本功能的ftp服务器。
应用程序同时具备客户和服务器的两种角色。
5.服务器端和客户端的工作过程
5.1.服务器首先启动监听程序,对指定的端口进行监听,等待接收客户端的连接请求。
5.2.客户端启动程序,请求连接服务器的指定端口。
5.3.服务器收到客户端的连接请求后,与客户端建立套接字连接。
5.4.连接建立成功,客户端与服务器分别打开两个流,其中客户端的输入流连接到服务器的输出流,服务器的输入流连接到客户端的输出流,两边的流连接成功后进行双向通信。
5.5.当通信完毕后,客户端和服务器两边各自断开连接。
6.服务器端的编程流程
6.1创建套接字。
6.2设置服务器端口和ip地址。
6.3绑定端口。
6.4监听。
6.5接受客户端发送过来的连接请求。
6.6接收数据。
6.7处理事件。
6.8关闭套接字。
7.客户端的编程流程
7.1创建套接字。
7.1设置端口和ip。
7.3连接服务器。
7.4发送或接收数据。
7.5处理事件。
7.6关闭套接字。
8.C/S模式特点总结
结构简单。
支持分布式、并发环境,有效提高资源的利用率和共享程度。
服务器集中管理资源,有利于权限控制和系统安全。
可扩展性较好,客户和服务器均可单独升级。