面向对象三大特性:封装,继承,多态
from json import JSONEncoder,JSONDecoder import json from datetime import datetime,date res = {'c1':datetime.today(),'c2':date.today()} # a = datetime.today() # 有time 就是年月日 时分秒 # b = date.today() # 没有就是 年月日 # print(a) # print(b) print(json.dumps(res)) 例子 # 出现报错 TypeError: Object of type 'datetime' is not JSON serializable # 想可以得到序列化内容 # 在用dumps序列化=时 注意cls参数 如果不设置,则默认使用 JSONEncoder # json.JSONEncoder 查看default方法 # self 为对象本身 o 为传入的对象 class MyJson(JSONEncoder): def default(self, o): if isinstance(o,datetime): # 格式化时间 return o.strftime('%Y-%m-%d %X') elif isinstance(o,date): return o.strftime('%Y-%m-%d') else: return super().default(self,o) res = {'c1':datetime.today(),'c2':date.today()} print(json.dumps(res,cls = MyJson)) View Code To extend this to recognize other objects, subclass and implement a ``.default()`` method with another method that returns a serializable object for ``o`` if possible, otherwise it should call the superclass implementation (to raise ``TypeError``). 若要将其扩展到识别其他对象,请子类化并实现a 方法和另一个返回可序列化的方法 对象(如果可能的话),否则它应该调用超类 实现(引发' ' TypeError ' ')。 源码
两台计算机要想通讯,必须要具备两个基本要素 1.物理连接介质,包括网线,无线电,光纤等 2.通讯协议
OSI: open System Interconnection Reference Model,开放式系统互联通信参考模型
OSI七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层OSI五层模型 应用层 传输层 网络层 数据链路层 物理层
基于电信号传输010101 的二进制数剧
IP协议
IP协议 规定了只要是接入互联网的计算机都必须有一个IP地址 ip地址特点:点分十进制 ip地址最小:0.0.0.0 ip地址最大:255.255.255.255 ip地址目前有两个版本:IPV4 IPV6(由于IPV4已经不够表示目前存在的计算机了 所以推出了IPV6版本) IP地址是动态分配的TCP\UDP 基于端口工作的协议
计算机与计算机之间其实是计算机上的应用程序与应用程序之间的通信
端口(port) 端口是需要联网的应用程序与网卡关联的编号,用来唯一标识一台计算机上的某个应用程序
端口号的范围:0~65535 注意:0~1023这些都是操作系统默认使用的端口号 建议:使用8000之后的端口 MySQL默认端口:3306 Redis默认端口:6379 django默认端口:8000 flask默认端口:5000 Tomcat默认端口:8080
小结:
ip地址:用来唯一标识接入互联网的一台计算机 port端口:用来唯一标识一台计算机上的某个应用程序ip+port:唯一标识接入互联网一台计算机上的某个应用程序
HTTP协议
PTP协议
又称流式协议,可靠协议
基于TCP协议通信 必选先建立双向通道
tcp之所以可靠的原因在于是因为它有双向通道? 不对 可靠的原因 有反馈机制-----发送信息后对方必须回复确认收到信息才会将数据从内存中清空 如果一段时内没有收到回复信息,会自动重新发送,如果重试的次数过多则表示链接可能已经中断! 发送信息后要得到对方的一个反馈信息
出现的问题:
洪水攻击:服务器在同一时间接受大量的请求
三次握手四次挥手
三次握手建立连接
四次挥手断连接
中间不能合并:思考 服务端检测是否还有未发完的数据
星轨:明星出轨能抗住的压力
转载于:https://www.cnblogs.com/komorebi/p/11312099.html
相关资源:JAVA上百实例源码以及开源项目