s21day27 python笔记
一、内容回顾及补充
1.正则补充
- [] [^]:带有特殊意义的元字符到字符组内大部分都会取消它的特殊意义
- 会取消的有:[()+*.]
- [(-)]:-的位置决定了它的意义
- 写在字符组的第一个位置/最后一个位置就表示一个普通的横杠
- 写在字符组的其他任何位置都表示一个范围
二、网络基础
用途:未来的web框架的学习,未来的工作场景做铺垫
- 两个运行中的程序如何传递信息?
- 通过文件
- 两台机器上的两个运行中的程序如何通信?
- 通过网络
- 两个运行中的程序如何传递信息?
网络应用开发架构
- C/S
- client 客户端
- server 服务端
- 例如:迅雷 qq 浏览器 飞秋 输入法 百度云 pycharm git VNC 红蜘蛛 各种游戏
- B/S
- browser 浏览器
- server 服务端
- 例如:淘宝 邮箱 各种游戏 百度 博客园 知乎 豆瓣 抽屉
- 统一程序的入口
- B/S和C/S架构的关系:B/S是特殊的C/S架构
- C/S
网卡 :是一个实际存在在计算机中的硬件
mac地址 :每一块网卡上都有一个全球唯一的mac地址
交换机 :是连接多台机器并帮助通讯的物理设备,只认识mac地址
协议 :两台物理设备之间对于要发送的内容,长度,顺序的一些约定
ip地址
- ipv4协议 4位的点分十进制 32位2进制表示
- 0.0.0.0 - 255.255.255.255
- ipv6协议 6位的冒分十六进制 128位2进制表示
- 0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
- ipv4协议 4位的点分十进制 32位2进制表示
公网ip:能被所有人访问到ip地址
- 为什么你的外地朋友的电脑我们访问不了?
- 每一个ip地址要想被所有人访问到,那么这个ip地址必须是你申请的
- 为什么你的外地朋友的电脑我们访问不了?
内网ip:这些区间的ip地址公网不会使用,避免了公网ip和内网ip的重叠
- 192.168.0.0 - 192.168.255.255
- 172.16.0.0 - 172.31.255.255
- 10.0.0.0 - 10.255.255.255
交换机实现的arp协议:通过ip地址获取一台机器的mac地址
扫描二维码关注公众号,回复: 6138781 查看本文章网关ip:一个局域网的网络出口,访问局域网之外的区域都需要经过路由器和网关
网段:指的是一个地址段 ,如x.x.x.0或x.x.0.0或x.0.0.0
子网掩码:判断两台机器是否在同一个网段内的
# 255.255.255.0 子网掩码 # 11111111.11111111.11111111.00000000 # 192.168.12.87 # 11000000.10101000.00001100.01010111 # 11111111.11111111.11111111.00000000 # 11000000.10101000.00001100.00000000 192.168.12.0 # 192.168.12.7 # 11000000.10101000.00001100.00000111 # 11111111.11111111.11111111.00000000 # 11000000.10101000.00001100.00000000 192.168.12.0
port:端口,0-65535
- ip 地址能够确认一台机器
- ip + port 确认一台机器上的一个应用
收发消息示例:
- 包:demo
__init__.py
- server.py
- client.py
# server.py 服务端 import socket sk = socket.socket() # 买手机 sk.bind(('127.0.0.1',9000)) # 绑定卡号 sk.listen() # 开机 conn,addr = sk.accept() # 等着接电话 conn.send(b'hello') msg = conn.recv(1024) print(msg) conn.close() # 挂电话 sk.close() # 关机 # client.py 客户端 import socket sk = socket.socket() sk.connect(('127.0.0.1',9000)) msg = sk.recv(1024) print(msg) sk.send(b'byebye') sk.close() # 注意:运行时,先执行server.py,再执行client.py
- 包:demo