美文网首页
服务器模型

服务器模型

作者: 遇明不散 | 来源:发表于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

    相关文章

      网友评论

          本文标题:服务器模型

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