2020/01/15 03-socketserver模块
socket库比较底层,但是之前在写tcp server的时候,需要多线程, 那对底层的socket进行封装,有了socketserver base一般只是完成部分功能,并没有全部完成,基于baseserver扩展,有了TCPServer,TCP server和UDPserver有部分代码重合,TCPServer派生出一个UDPserver, UDPserver把跟tcpserver 不一样的地方覆盖掉了 然后再衍生出其他的类,UnixStreadmServer,UnixDatagramserver 一般直接使用TCPserver和使用UDPserver 现在的TCPserver和UDPserver是同步的库,不支持多线程,不支持并发 提供了4个类,TCPserver,UDPserver,UnixStreamserver,UnixDatagramserver,是同步类 MIxin是来增强功能的,靠MIO,把mixin往前放,优先使用的属性从MIO的第一位MIXIN属性来,抢在被人前面来 Mixin是多继承来实现的,是放在继承列表的第一个 ForkingMixin 进程间的forking ,多进程方式 ThreadingMixin 多线程间的,相当于给TCP,UDPserver增加多线程能力 4个mixin出来的完全是异步的 TCPserver和UDPserver当同步来用