s21day27 python笔记

s21day27 python笔记

一、内容回顾及补充

1.正则补充

  • [] [^]:带有特殊意义的元字符到字符组内大部分都会取消它的特殊意义
    • 会取消的有:[()+*.]
  • [(-)]:-的位置决定了它的意义
    - 写在字符组的第一个位置/最后一个位置就表示一个普通的横杠
    - 写在字符组的其他任何位置都表示一个范围

二、网络基础

  1. 用途:未来的web框架的学习,未来的工作场景做铺垫

    • 两个运行中的程序如何传递信息?
      • 通过文件
    • 两台机器上的两个运行中的程序如何通信?
      • 通过网络
  2. 网络应用开发架构

    • C/S
      • client 客户端
      • server 服务端
      • 例如:迅雷 qq 浏览器 飞秋 输入法 百度云 pycharm git VNC 红蜘蛛 各种游戏
    • B/S
      • browser 浏览器
      • server 服务端
      • 例如:淘宝 邮箱 各种游戏 百度 博客园 知乎 豆瓣 抽屉
    • 统一程序的入口
    • B/S和C/S架构的关系:B/S是特殊的C/S架构
  3. 网卡 :是一个实际存在在计算机中的硬件

  4. mac地址 :每一块网卡上都有一个全球唯一的mac地址

  5. 交换机 :是连接多台机器并帮助通讯的物理设备,只认识mac地址

  6. 协议 :两台物理设备之间对于要发送的内容,长度,顺序的一些约定

  7. 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
  8. 公网ip:能被所有人访问到ip地址

    • 为什么你的外地朋友的电脑我们访问不了?
      • 每一个ip地址要想被所有人访问到,那么这个ip地址必须是你申请的
  9. 内网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
  10. 交换机实现的arp协议:通过ip地址获取一台机器的mac地址

    扫描二维码关注公众号,回复: 6138781 查看本文章
  11. 网关ip:一个局域网的网络出口,访问局域网之外的区域都需要经过路由器和网关

  12. 网段:指的是一个地址段 ,如x.x.x.0或x.x.0.0或x.0.0.0

  13. 子网掩码:判断两台机器是否在同一个网段内的

    # 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
  14. port:端口,0-65535

    • ip 地址能够确认一台机器
    • ip + port 确认一台机器上的一个应用
  15. 收发消息示例:

    • 包: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

猜你喜欢

转载自www.cnblogs.com/zengyi1995/p/10819719.html