网络通信
掠过,不留痕。
这个作者很懒,什么都没留下…
展开
-
http协议及使用socket-TCP服务器搭建
HTTP传输协议–超文本传输协议 特点: 1、基于TCP,浏览器和服务器之间的传输协议 2、客户端请求数据(request header)服务器答复(response->header,body)客户端根据答复,从而显示页面 3、客户端请求里面一般包括IP+端口+请求的页面,当请求的页面不写时,默认主页index 代码需求:用python写一个程序,充当服务器,当客户端请求任何页面,返回相同的...原创 2020-05-02 23:08:21 · 408 阅读 · 0 评论 -
协程简单使用及线程进程协程对比
协程: gevent -协程 当多线程和多进程都无法实现客户需求的时候,协程就出现了 协程的使用过程 1、协程的导入 import gevent#没有这个库就取pip下载 2、声明需要执行的函数 def f1(): ... 3、协程对象的实例化 g1 = gevent.spawn(f1,5)#f1是需要协程执行的函数,第二个是需要传输的参数 测试案例: import gevent#导入 d...原创 2020-05-02 23:04:03 · 279 阅读 · 0 评论 -
迭代器和生成器
迭代器 概念: 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完 可迭代对象:一般来说可以用for进行遍历的就是可迭代对象,例如:list,tuple等类型都是迭代器 实例: 1、创建一个类,该类包含__iter __魔法方法就是可迭代对象 2、一个类中含有__iter__和__next__两个魔法方法就是迭代器 测试1: ##迭代器测试 from collections.abc i...原创 2020-04-30 23:15:08 · 92 阅读 · 0 评论 -
进程池Pool
线程池Pool 存在引入:当需要创建很多进程的时候,比如上千,甚至上万,电脑一下子创建那么多进程肯定没有那么多资源消耗,所以就引入了进程池概念,一次创建指定进程数量,分批次的解决大量进程问题 使用: 1、导入库 from multiprocessing import Pool 2、创建最大进程池 po = Pool(3)#创建一个进程池,最大进程数3 3、创建进程池需要执行的函数 def f1...原创 2020-04-30 23:11:39 · 530 阅读 · 1 评论 -
多进程里的queue队列的使用
Queue队列 存在目的:实现线程之间数据共享 1、导入队列模块 from multiprocessing import Queue 2、创建一个队列的最大容量 q= Queue(3)#只能存三个数据模块 3、存数据 q.put(3)#可存入多种数据列表等 4、取数据 q.get() #获取一个数据,根据先进先出原则 队列的实际使用: 模拟网络下载数据,使用队列 import multi...原创 2020-04-30 23:08:26 · 671 阅读 · 1 评论 -
多进程的基础使用
多进程:多个进程同时运行 什么叫进程:当exe可执行程序跑起来的时候就是进程,代码+用到的资源,称之为进程, 它是操作系统分配资源的基本单位 实现: 1、导入模块 2、创建进程函数 3、实例化进程 4、执行进程 代码实现和线程差不多 #代码: #功能:测试基础多进程,进程之间共同运行 import multiprocessing import time def test1(): '''测...原创 2020-04-29 23:05:30 · 182 阅读 · 0 评论 -
socket通信简单总结
网络通信–Socket socket套接字通信分为两种 1UDP 2TCP 一、UDP–使用udp传送数据 1、创建套接字 使用UDP之前需要导入socket库 upd_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #两个参数代表含义ipv4,tcp 2、UDP发送/接受数据 (1) 发送数据 udp_socket.sen...原创 2020-04-29 22:27:43 · 394 阅读 · 0 评论