假如有一天你丢失了银行卡
你要到银行去找工作人员(服务器)
排队挂号等待(FCFS原则)
轮到你了,就去柜台和工作人员沟通(建立连接)
对工作人员说“我卡丢了,要挂失”(向服务器提出请求)
工作人员会帮你办理挂失手续(提供服务,返回响应)
办理完之后你就可以离开(一个事务结束后断开服务)
工作人员继续为下一个客户服务(服务器继续等待下一个客户端的请求)
以上便是生活中的客户端-服务器架构
总结一下:
- 服务器是个工作狂,它会一直处于工作状态,等待客户的到来,即使当前没有一个客户
- 服务器可以是硬件, 也可以是软件。硬件服务器:打印机,文件服务器。软件服务器:Web服务器,数据库服务器,窗口服务器(远程控制桌面)
上面介绍了生活中的客户端-服务器架构。那么,在网路中,我们是如何实现这种架构的呢?
我们知道,在生活中如果你想提供服务的话,你得有个门面,再不济也得有个小摊吧。要不然客户怎么知道你在哪?怎么跟你联系?同理,网络上我们也要有这么一个摊位,我们叫通讯端点(Socket)。等我们摆好摊了之后,就可以等待客户的到来了(客户端通讯端点的连接)。那么客户怎么和我联系呢?现实生活中有2种方式
- 我可以把摊位地址发布出来,让客户自己来找
- 我可以留个联系方式,让客户打电话过来<