美文网首页
服务器模型

服务器模型

作者: 遇明不散 | 来源:发表于2019-03-05 14:37 被阅读0次

服务器模型

硬件服务器

计算机主机

软件服务器

网络服务器,提供后端逻辑服务和请求处理的程序集合及架构
例如,web服务器等

服务器架构

服务器的组织形式
例如,C/S B/S

服务器追求

更快速,更安全,并发量更大

服务器模型

循环服务器模型

  • 定义
    循环处理客户端的请求,处理完一个继续处理下一个
  • 缺点
    不能同时处理多个请求,不允许某个客户端长期占用服务器资源
  • 由于UDP不需要进行连接,所以循环服务器模型更加适合UDP通信

并发服务器模型

每有一个客户端就创建一个进程或线程处理客户端的具体请求事件,而主进程或主线程继续接受其他客户端的连接

多进程并发服务器模型

步骤
  • 创建套接字、绑定、监听
  • 接受客户端连接请求,创建新的进程
  • 主进程继续接受下一个客户端连接请求,子进程处理客户端事件
  • 有客户端断开则关闭响应的子进程

多线程并发服务器模型

步骤
  • 创建套接字、绑定、监听
  • 接受客户端连接请求,创建新的进程
  • 主进程继续接受下一个客户端连接请求,子进程处理客户端事件

socketserver模块

  • 多进程/多线程
  • TCP/UDP
  • streamhandler/datagramhandler
  • ForkingMixIn/ThreadingMixIn

步骤

创建服务器类
创建处理类
使用创建的服务器类来产生服务器

FTP服务器

技术分析

TCP连接、多进程并发

实现步骤

  • 创建网络连接
  • 功能架构设计和客户端退出处理
  • 实现list file
    @ 客户端请求
    @ 服务器端请求确认
    @ 遍历文件夹下文件,把文件名发给客户端
    @ 客户端接收并打印
    os.listdir(path) 获取指定目录下所有文件列表
    os.path.isfile(filename) 判断一个文件是否为普通文件
  • 实现get file
    @ 客户端请求
    @ 服务器端请求确认
    @ 客户端以写方式打开文件,服务器端以读的方式打开
    @ 服务器read -> send,客户端recv -> write
  • 实现put file
    @ 客户端请求
    @ 服务器端请求确认
    @ 客户端以读方式打开文件,服务器端以写的方式打开
    @ 服务器recv -> write,客户端read -> send

相关文章

  • golang的线程模型——GMP模型

    常见的线程模型 单线程服务器编程模型:Redis、Node.、JavaScript 多线程服务器编程模型:并发多个...

  • 第六章应用层

    6.1 网络应用模型 客户/服务器模型c/s 客户端/服务器b/s 浏览器/服务器 p2p模型定义:不区分服务提供...

  • 服务器模型

    C/S模型 C/S模型概述 C/S(客户端/服务器)模型,是常用的服务器模型,包括现在说的B/S(浏览器/客户端)...

  • Netty EventLoop与IO模型整理

    netty示例 maven依赖 echo服务器示例 echo服务器测试 IO模型 BIO模型 伪异步IO NIO模...

  • Linux网络编程

    一 Socket编程 1 TCP客户端/服务器模型 server端 client端 2 UDP客户端/服务器模型...

  • actor、reactor与proactor模型

    actor、reactor与proactor模型:高性能服务器的几种模型概念。 actor模型: 实体之通过消息通...

  • actor reactor proactor模型

    actor、reactor与proactor模型:高性能服务器的几种模型概念。 actor模型: 实体之通过消息通...

  • node 一些思考

    nodejs特点 单线程 异步处理 nodejs服务器模型 看下服务器模型进化史 石器时代 同步青铜时代 复...

  • 第十一章《网络编程》

    客户端-服务器编程模型 每个网络应用都是基于客户端-服务器模型的,这个模型中的基本操作是事务。一个事务又四个步骤组...

  • 推荐!国外程序员整理的系统管理员资源大全(转)

    备份 备份软件Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Ba...

网友评论

      本文标题:服务器模型

      本文链接:https://www.haomeiwen.com/subject/fmtnuqtx.html