高性能服务器程序框架

服务器主要包括如下三个主要模块:
I/O处理单元,四种I/O模型和两种高效事件处理方式

逻辑单元,逻辑单元的高效并发方式

存储单元,服务器的可选模块

服务器模型

C/S模型:所有客户端都通过访问服务器来获取所需的资源

C/S模型的运行逻辑:
服务器启动后,首先创建一个或多个监听socket,并调用bind函数将其绑定到服务器感兴趣的端口上,然后调用listen函数等待客户连接。

服务器稳定运行后,客户端就可以调用connect()函数向服务器发起连接了,由于客户连接请求是随机到达的异步事件,服务器需要使用某种I/O模型来监听这一事件

下图中使用的是I/O多路复用技术之一的select系统调用。当监听到连接请求后,服务器就调用accept函数接受它,并分配一个逻辑单元为新的连接服务(子线程或者子进程),逻辑单元读取客户请求并处理该请求,然后将处理结果返回给客户端。此时客户端可以继续向服务器发送请求,也可以立即向服务器主动关闭连接。如果客户端主动关闭连接,则服务器执行被动关闭连接,至此,双方通信结束。注意,服务器在处理一个客户请求的同时还会监听其他客户的请求。服务器同时监听多个客户请求是通过select系统调用实现的。

C/S模型适合资源相对集中的场合,但当访问量过大时,所有客户端都会得到很慢的相应。

P2P模式解决了这个问题,,待续,,,

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值