摘要: socketsoerver类的五大类型之间的联系: 日常主要用到的是以下这两个类型,但是,你会发现这两个类型,并没法实现我们要的多客户端连接,只等前一个连接结束,后一个连接才可以开始。 socketserver.TCPServer:是用于TCP连接 socketserver.UDPServer:是用 阅读全文
posted @ 2020-09-16 15:21 NQ31 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 思路:1、把文件名,文件大小封转成一个字典2、用struct模块封装成头信息3、把该头部信息先发给对方4、打开文件,逐行读取并发送遇到问题:file_size=os.path.getsize(filename)得到的文件大小,比实际发送的文件大小偏大,具体原因还没查到?解决方法:先暂时采用read( 阅读全文
posted @ 2020-09-16 15:17 NQ31 阅读(351) 评论(1) 推荐(1) 编辑
摘要: 阻塞IO模型(blocking IO) 因为通信的时候,数据是先复制到系统,再通过网线发送的,所以,recv在等待接受数据的时候,会先跟内核/操作系统要数据。进而出现两个等待过程,一个是系统等待对方发送数据、一个是应用程序等待系统的数据拷贝过来。 非阻塞IO(unLocking IO) 非阻塞IO是 阅读全文
posted @ 2020-09-16 15:14 NQ31 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1、死锁 定义; 类似两个人分别被囚禁在两间房子里,A手上拿着的是B囚禁房间的钥匙,而B拿着A的钥匙,两个人都没法出去,没法给对方开锁,进而造成死锁现象。具体例子代码如下: # -*-coding:utf-8 -*- from threading import Thread,Lock,RLock i 阅读全文
posted @ 2020-09-16 15:11 NQ31 阅读(235) 评论(0) 推荐(0) 编辑
摘要: IPC机制:进程间通信或跨进程通信,指两个进程之间进行数据交换。 模型:生产者+媒介(队列)+消费者(用到的就是IPC机制)这里队列用JoinableQueue这个模块,该模块有以下几个方法: JoinableQueue()内有自带计数器,每当队列放一个数据的时候,会自动+1 task_done() 阅读全文
posted @ 2020-09-16 15:04 NQ31 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 多道技术 1、并发:看起来像是同时运行,实际,是靠不断切换任务来实现的2、并行:同时运行多个任务 3、时间复用:利用中间空闲时间做其他事情。比如;做饭、洗衣服、烧水,就可以先洗好米放锅里煮,然后去把衣服丢洗衣机洗,然后再去烧水,这样就不用等饭煮好,再去洗衣服,烧水。4、空间复用:多个程序共用一套计算 阅读全文
posted @ 2020-09-16 15:01 NQ31 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一、数据库的增删改查 1、增:create database 库名; 2. 删:drop database 库名; 3. 改:alter database 库名 charset=‘gbk’4. 查:show database; 查看所有数据库show create database 库名;查看一个 阅读全文
posted @ 2020-09-16 14:44 NQ31 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1、no null(非空) create table t1( id int, name char(4) not null ) insert into t1 value(1,null); insert into t1 value(1,'json'); 2、default (默认) create tab 阅读全文
posted @ 2020-09-16 14:40 NQ31 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 一、单表查询 #前期例子表准备: create table teacher( id int primary key auto_increment, name varchar(16), age int, sex enum('男','女') default '女', xueke varchar(16), 阅读全文
posted @ 2020-09-16 14:31 NQ31 阅读(217) 评论(0) 推荐(0) 编辑
摘要: pymysql模块的基本使用 pymysql模块的注意事项:1、连接数据裤的时候,connect下的编码参数不能有’-‘ 例如:utf-8 要写成utf8,否则会报错。2、创建光标的时候,可以添加cursor=pymysql.cursors.DictCursor这个参数,这样获取的结果会以字典的形式 阅读全文
posted @ 2020-09-16 14:19 NQ31 阅读(255) 评论(0) 推荐(0) 编辑