摘要: 一、struct 1、简述 我们可以借助一个模块,这个模块可以把要发送的数据长度转换成固定长度的字节。这样客户端每次接收消息之前只要先接受这个固定长度字节的内容看一看接下来要接收的信息大小,那么最终接受的数据只要达到这个值就停止,就能刚好不多不少的接收完整的数据了。 该模块可以把一个类型,如数字,转 阅读全文
posted @ 2018-10-24 21:30 qi.hu 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 一、socketserver socketserver可以实现和多个客户端通信。它是在socket的基础上进行了一层封装,也就是说底层还是调用的socket,在py2.7里面叫做SocketServer也就是大写了两个S,在py3里面就小写了。 1 import socketserver #1、引入 阅读全文
posted @ 2018-10-24 21:27 qi.hu 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、黏包成因 TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。 收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数 阅读全文
posted @ 2018-10-24 21:25 qi.hu 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 一、传输层 1、定义 IP首部有一个协议字段,用来标识网络层(IP)的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据部分究竟是TCP的内容还是UDP的内容。 同样,传输层的TCP( 6 )和UDP( 17 ),为了识别自己所传输的数据部分究竟应该发给哪个应用,也设定 阅读全文
posted @ 2018-10-24 21:19 qi.hu 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一、C/S B/S 架构 1、定义 (1)C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多 以此作为首选设计标准。 (2)B/S结构 阅读全文
posted @ 2018-10-15 17:29 qi.hu 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 一、re模块的核心功能 1、findall —— 查找所有,返回list 1 lst = re.findall("m", "mai le fo len, mai ni mei!") 2 print(lst) # ['m', 'm', 'm'] 3 lst = re.findall(r"\d+", " 阅读全文
posted @ 2018-10-15 17:24 qi.hu 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一、定义 正则表达式是对字符串操作的一种逻辑公式,一般使用正则表达式对字符串进行匹配和过滤。 优点:灵活、功能性强,逻辑性强。 http://tool.chinaz.com/regex/ #在线测试工具 正则表达式由普通字符和元字符组成。普通字符——大小写字母、数字。 二、元字符 1、字符组 字符组 阅读全文
posted @ 2018-10-15 17:17 qi.hu 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 一、序列化 存储数据或者传输数据时,需要把对象进行处理,把对象处理成方便存储和传输的数据格式。不同的序列化,结果也不同。 序列化方式: (1) pickle 可以将我们python中的任意数据类型转化为bytes并写入文件中,同样也可以把文件中写好的bytes转换回我们python的数据. 这个过程 阅读全文
posted @ 2018-10-15 17:00 qi.hu 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一、定义 1、Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块能定义函数,类和变量,模块里也能包含可执行的代码。 模块导入的方式:(1) import 模块 (2) from xxx import 模块 1 im 阅读全文
posted @ 2018-10-09 08:37 qi.hu 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 一、类的约束 要约束程序的结构,再分配任务时要把功能定义好,然后交给 程序员分别完成相应的功能。 1、提取父类 -- 然后在父类中定义好方法. 在这个方法中什么都不用干. 就抛一个异常就可以了. 这样所有的子类都必须重写这个方法. 否则访问的时候就会报错 第一种解决方案: 首先, 提取一个父类. 在 阅读全文
posted @ 2018-10-09 08:22 qi.hu 阅读(158) 评论(0) 推荐(0) 编辑