标签:python 控制 udp协议 分配 mysq 特点 建议 手机 传输数据
import json
from datetime import datetime,date
不能直接序列化 因为字典里面不全是字符串
res = {'c1':datetime.today(),'c2':date.today()}
print(json.dumps(res))
res = {'c1':str(datetime.today()),'c2':str(date.today())} # 手动转成子符传
print(json.dumps(res)) # {"c1": "2019-08-06 20:57:04.649601", "c2": "2019-08-06"}
NX 方法
json.JSONEncoder
class MyJson(json.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))
? ps bs结构本质也是cs结构
? 手机端看上去cs结构比较火,实际上bs已经在崛起
? 微信支付宝都在做一件事 : 统一接口
? 手机端之后肯定也是bs比较火
学习网络编程 就可以开发一个cs架构的软件
并发 数据 前端 django 就可以开发一个bs架构的软件
? 任何先进的技术最早都来源于军事
要想实现远程通信第一个需要具备的条件是: 物理连接介质
人要想实现无障碍交流必须说统一的语言 >>>>> 就出现了统一的语言 英语
计算机之间要想实现远程通信 除了有物理介质之外还需要有一套公共的标准/协议
物理连接层
基于电型号传输01010101010二进制数据
数据链路层
? 编号 规则 12位16进制数
? 前6位是厂商编号
? 后六位是流水线编号
? 我们管这12位数叫mac地址(类似于我们的身份证号)
? ps 以上连点合称为"以太网协议"
交换机
基于以太网协议通信
不能跨局域网通信
互联网室友N多个局域网彼此之间连接而成的
网络层
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-1024 都是操作系统默认使用的端口号
建议 使用8000之后的端口
常用软件 端口号
MySQL默认端口 3306
Redis默认端口 6379
django默认端口 8000
flask默认端口 5000
一台机器的端口号是动态分配的
第一次使用QQ分配到的端口号 是8989 将QQ关闭关闭再启动端口号可能就变了
计算机之间的通信其实就是计算机上的应用程序之间的通信
总结
ip地址 用来唯一标识介入互联网的一台计算机
port端口 用来唯一标识一台计算机上的应用程序
ip + port 唯一表示接入互联网一台计算机上的某个应用程序
应用层
HTTP协议
FTP协议
? 流式协议 可靠协议
? 基于TCP协议通信 必选先建立双向通道
? TCP协议传输数据之所以可靠的原因就在于有双向通道???? 不对的
? 对方说了东西后必须得到反馈 否则一段时间内会一直发 还不回复 他会默认认为你宕机了
标签:python 控制 udp协议 分配 mysq 特点 建议 手机 传输数据
原文地址:https://www.cnblogs.com/xuzhaolong/p/11311880.html