服务器模型

1.C/S模型

所有客户端都是通过访问服务器来获取所需资源。

模型图;

这里写图片描述

工作流程:
这里写图片描述
这里进行详细的解释工作流程;

  • 服务器建立socket,绑定一个自己感兴趣的端口,之后就处于listen状态,等待客户端连接;
  • 客户端调用connect建立连接,和服务器进行三次握手操作;
  • 在服务器监听的客户端数目之内,进行数据的传送;
  • 由于客户端是随即到达的异步事件,服务器采用某种I/O模型来监听这一事件;
  • 当服务器监听到客户端的请求之后,调用accept函数来接受他,并分配一个子进程来处理客户端的请求,并且将结果反馈给客户端;
  • 客户端接收到服务器的应答之后,就开始向服务器发送请求,也可以立即关闭客户端,如果客户端主动关闭,那么服务器执行被动关闭;

    模型缺点
    服务器监听多个客户端,通过select来实现,但是当客户端的访问量很大的时候,那么服务器的应答就很慢;

2.P2P模型

典型案例–云计算

刚才我们在C/S模式中,发现了问题当客户端的访问量很大的时候,那么服务器的响应就很慢,那么P2P就是来解决这个问题的;

模型图
这里写图片描述

这样子的模型。让每个客户端即使服务器又是客户端,自己在消耗资源的同时,也给别人提供服务;
但是这个模型还是存在问题,每一个很难相互发现,所以我们还专门提供了一个发现服务器。这个服务器还会提供查找服务,是每一个客户可以尽快的找到自己所需的资源;

*改进的模型图
这里写图片描述

由于P2P模型即使服务器又是客户端,所以我们编程还是采用的C/S模型;

模型缺点
当用户之间传输请求过多时,网络负载将加重;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值