day 30 多线程 socketserver模块补充】的更多相关文章

内容回顾: socket 模块 服务端:收发数据 - > accept/recv 客户端:收发数据 -> connect/recv 1. 考试题 1. 解释性和编译型 编译型: 先把代码编译成机器码 -> 计算机寄存器去运行 :C语言 先把代码编译成XXX -> 计算机找虚拟机执行代码->机器码交给计算技巧去运行 :C语言.java.C# 解释型: 边解释边执行 def func(): print(name) print(666) 4. 列表: ''.join(['xx','…
线程:进程中负责程序执行的执行单元. 多线程:在1个进程中存在多个线程. 进程只是用来把资源集中在一起,而线程才是cpu上的执行单位. 每个进程都会默认有一个控制线程也叫作主线程. 进程之间是竞争关系,线程之间是协作关系. 多线程和进程之间的区别? 1.线程开销小,不需要申请内存空间,创建速度快.进程需要申请内存空间,创建速度慢. 2,同一进程下的多个线程,共享该进程的地址空间. 3,改变主进程 ,无法影响子进程,改变了主线程,影响其他线程.原因(该控制线程可以执行代码从而创建新的线程,该主线程…
主要类型 该模块有四个比较主要的类,其中常用的是 TCPServer 和 UDPServer. 1. TCPServer 2. UDPServer 3. UnixStreamServer,类似于TCPServer提供面向数据流的套接字连接,但是旨在UNIX平台上可用: 4. UnixDatagramServer,类似于UDPServer提供面向数据报的套接字连接,但是旨在UNIX平台上可用: 这四个类型同步地处理请求,也就是说一个请求没有完成之前是不会处理下一个请求的,这种模式当然不适合生产环境…
1.socketserver模块: socketserver,它提供了服务器中心类,可简化网络服务器的开发,内部使用IO多路复用以及“多线程”和“多进程”,从而实现并发处理多个客户端请求的socket服务端.即,每个客服端请求连接到服务器时,socket服务端都会在服务器上创建一个“线程”或“进程”专门负责处理当前客户端的所有请求. 2.socketserver的ThreadingTCPServer类: ThreadingTCPServer实现的socket服务器内部会为每个client创建一个…
一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二 osi七层 引子: 须知一个完整的计算机系统是由硬件.操作系统.应用软件三者组成,具备了这三个条件,一台计算机系统就可以自己跟自己玩了(打个单机游戏,玩个扫雷啥的) 如果…
[并发编程 - socketserver模块实现并发.[进程查看父子进程pid.僵尸进程.孤儿进程.守护进程.互斥锁.队列.生产者消费者模型] socketserver模块实现并发 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环 socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题) socketserver模块的使用 基于TCP协议的套接字--支持并发(拿之前通信的例子,主要针对服务端,客户端不变) # 服务端.py impo…
一 .Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket socket(TCP,IP)通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 socket和file的区别: file模块是针对某个指定文件进行[打开][读写][关闭] socket模块是针对 服务器端 和 客户端Socket 进行[打开][读写][关闭] 建立连接必须有一个服务端和一…
在利用select实现伪并发的socket博文中我们说了: 如果要实现一个server端可以和多个客户端进行通信可以使用 1.多线程 2.多进程 3.select I/O多路复用 在那篇博文中我们介绍了使用select模块实现单线程的伪并发的程序间的通信,那今天我们就来谈一谈如何使用多线程来实现并发. Pyhton本身就提供了一个基于多线程实现并发socket的模块---->SocketServer模块.那么今天我们就来探讨一下SocketSever模块. SocetServer模块实现并发的原…
虽然说用python编写简单的网络程序狠方便,但是复杂一点的网络程序还是用现成的框架比较好,这样就可以专心事物逻辑,而不是套接字的各种细节.Socketserver模块简化了编写网络服务程序,同时socketserver模块也是python标准库中很多服务器框架的基础. socketserver模块类介绍 SocketServer内部使用 IO多路复用 以及 "多线程" 和 "多进程" ,从而实现并发处理多个客户端请求的Socket服务端.即:每个客户端请求连接到服…
hmac模块: 1.模块初识: import hmac # h = hmac.new() #括号里要给它连个bytes类型,一个是自定义的secret_key,一个是你想进行加密的bytes # 密文 = h.digest() # hmac.compare_digest() #括号内传另外一个密文,看是否相等 h = hmac.new(b') digest = h.digest() print(digest) #>>>> b'\xa4<\r\xf8\xec0\x7f\x8ao…