摘要:
解决黏包的办法 解决方案一 问题的根源在于,接收端不知道发送端将要传送的字节流的长度,所以解决粘包的方法就是围绕,如何让发送端在发送数据前,把自己将要发送的字节流总大小让接收端知晓,然后接收端来一个死循环接收完所有数据。 import socket,subprocess ip_port=('127. 阅读全文
摘要:
基于UDP协议的socket udp的server 不需要进行监听也不需要建立连接,在启动服务之后只能被动的等待客户端发送消息过来。 客户端发送消息的同时还会 自带地址信息,消息回复的时候 不仅需要发送消息 还需把对方的地址填上。 udp的client 不需要connect 因为UDP协议是不需要连 阅读全文
摘要:
计算机网络的发展 早期 : 联机 以太网 : 局域网与交换机 软件开发的架构 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑 阅读全文
摘要:
hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要dig 阅读全文
摘要:
isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本 阅读全文
摘要:
封装 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码;而外部使用用者只知道一个接口(函数),只要 接口(函数)名、参数不变,使用者的代码永远无需改变。这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代 码改变不足为虑。 property是一种特殊的属 阅读全文
摘要:
多态 多态指的是一类事物有多种形态 python 天生支持多态 多态性 鸭子类型 不崇尚根据继承所得来的相似只是自己实现自己的代码就可以了如果两个类刚好相似,并不产生父类的子类的兄弟关系,而是鸭子类型list tuple这种相似,是自己写代码的约束的,而不是通过父类约束的优点:松耦合缺点:太随意了, 阅读全文
摘要:
面向对象三大特性:继承,多态与封装 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为 派生类或子类。python中类的继承分为:单继承和多继承 正常的代码中,单继承减少了代码的重复,继承表达的是一种,子类是父类的关系。 继承 阅读全文
摘要:
面向对象 简单的来说就是万物皆对象。 优点是:解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。 缺点:可控性差,无法向面向过程的程序设计流水线式的可以很精准的预测问题的处理流程与结果,面向对象的程序一旦开始就由对象之间的交互解决问题, 阅读全文
摘要:
包 包:是一种通过使用‘.模块名’来组织python模块名称空间的方式。 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法 2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就 阅读全文