Socketserver

Day45 Socketserver

socketserver介绍,使用socketserver编写服务器端,多客户端的socketserver

09-04侠课岛    基础入门       

后端/后端/Python 由浅入深入门 14     0     242

总结

1.socketserver介绍

  • socketserver是标准库中的一个高级模块;

  • socketserver模块是python提供的内置的用于快捷开发服务端程序的一个服务器框架,通过封装大量实现的方式减少开发人员工作量的同时能快捷开发出具有较高质量的服务端程序;

2.Socketserver模块四个基本的服务器类

  • TCPServer,基本的网络同步TCP服务器;

  • UDPServer,基本的网络同步UDP服务器;

  • UnixStreamServer,使用UNIX域套接字实现面向数据流协议的服务器,继承自TCPServer;

  • UnixDatagramServer,使用UNIX域套接字实现数据报协议的服务器,继承自UDPServer;

  • 这四个类型同步地处理请求,也就是说一个请求没有完成之前是不会处理下一个请求的;

3.Socketserver模块的两个异步处理类

  • ForkingMixIn,将UNIX进程分支添加到服务器的混合方法,使用该方法可以让服务器服务多个客户;

  • ThreadingMixIn,修改服务器的混合类,可以使用多线程服务多个客户端;

  • 继承自这两个类型的服务端在处理新的客户端连接时不会阻塞,而是创建新的进/线程专门处理客户端的请求;

4.BaseRequestHandle类的实例化可以实现的方法

  • setup():该方法在handle()之前调用,默认什么都不做,如果希望服务器实现更多连接设置,则无需调用该方法;

  • handle():调用该方法执行实际的请求操作,调用函数可以不带任何参数,默认什么都不做;

  • finish(): 环境清理,在handle()之后执行清除操作,默认什么都不做,如果setup()和handle()方法都不生成异常,则无需调用该方法;

5.socketserver模块创建服务器步骤

  • 创建一个请求处理类继承于BaseRequestHandler类, 且覆盖父类的handler方法,重写的这个方法会处理传入的请求;

  • 实例化一个服务器类,传递这个服务器的地址和你第一步创建的请求处理类到你实例化的服务器;

  • 调用server实例的serve_forever()方法(可以处理多个请求)或者handle_request()方法(只处理一个请求)来处理服务器中的一个或者多个请求;

  • 最后调用server_close()来关闭socket连接;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

14

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?