• python SocketServer模块创建TCP服务器·


      SocketServer 模块是标准库中的一个高级模块,他的目的是为了简化很多样板代码,他是创建网络客户端和服务器所必需的代码,这个模块中有为你创建的各种各样的模块

    描述

    BaseServer

    包含核心服务器功能和mix-in类的钩子;仅用于推导,这样不会创建这个类的实例;可以使用TCPServer或UDPServer创建类的实例

    TCPServer/UDPServer

    基础的网络同步TCP/UDP服务器

    UnixStreamServer/UnixDatagramServer

    基于文件的基础同步TCP/UDP服务器

    ForkingMixin/ThreadindMixin

    核心派出或线程功能;只用作mix-in类于一个服务器类配合实现一些异步性;不能直接实例化这个类

    ForkingTCPServer/ForkingUDPServer

    ForkingMixin和TCPServer/UDPServer的组合

    ThreadingTCPServer/ThreadingUDPServer

    ThreadingMixin和TCPServer/UDPServer的组合

    BaseRequesthandler

    包含处理服务请求的核心功能;仅仅用于推导,无法创建这个类的实例;

    StreamRequestHandler/DatagramRequestHandler

    实现TCP/UDP服务器的服务处理器

      除了为你隐藏了实现细节之外,另一个不同之处是,我们现在使用类来编写应用程序。因为以面向对象的方式处理事务有助于组织数据,以及逻辑性地将功能放在正确的地方。你还会注意到,应用程序现在是事件驱动的,这意味着只有在系统中的事件发生时,它们才会工作。

    事件包括消息的发送和接收。事实上,你会看到类定义只包括一个用来接收客户端消息的事件处理程序。所有其他的功能都来自使用的SocketServer类。此外,GUI编程(见第5章)也是事件驱动的。你会立即注意到它们的相似性,因为最后一行代码通常是一个服务器的无限循环,它等待并响应客户端的服务请求。它工作起来几乎与本章前面的基础TCP服务器中的无限while循环一样。

      在原始服务器循环中,我们阻塞等待请求,当接收到请求时就对其提供服务,然后继续等待。在此处的服务器循环中,并非在服务器中创建代码,而是定义一个处理程序,这样当服务器接收到一个传入的请求时,服务器就可以调用你的函数。



  • 相关阅读:
    Volley学习(RequestQueue分析)
    Volley学习(Volly分析)
    AsyncTask学习
    如何排放表单标签介绍的位置?
    了解hr标签的各种浏览器兼容问题
    多屏移动端网站开发需要注意的十大技巧
    让吃货垂涎三尺的美食酷站!—— 每周酷站欣赏 #1
    12个响应式导航菜单jQuery插件,让您轻松应对响应式网站!
    网页设计师必看!27个响应式的简约风格网站
    网页设计师必看!12个漂亮颜色搭配的国外网站欣赏
  • 原文地址:https://www.cnblogs.com/francischeng/p/9579562.html
Copyright © 2020-2023  润新知