• Python基础—16-网络编程


    网络编程

    相关概念

    • OSI七层模型:开放系统互连参考模型。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
    • TCP/IP:在OSI七层模型的基础上简化抽象出来的一套网络协议簇,现在得到了广泛使用。
    • TCP:传输控制协议
      • 有连接的,数据是安全有保障的
      • 传输的速度稍慢,三次握手、四次挥手、数据检查
    • UDP:用户数据报协议
      • 无连接的,数据是不可靠的
      • 传输的速度比较快
    • IP地址:唯一的一台计算标识
      • 查看:ipconfig
    • ping:检查网络连通性
      • 使用:ping IP/域名
    • 端口号:每个应用可以拥有唯一的端口号
      • 范围:0~65535
      • 系统:0~1024,常用的应用所占用
        • http:80
        • https:443
        • smtp:25
        • ftp:21
        • ssh:22
        • mysql:3306
        • redis:6379
      • 自己:大于1024
    • 网络编程核心:
      • IP + 端口
      • 库:socket

    TCP协议

    • 说明:面向连接、数据可靠(校验重发)、三次握手、四次挥手、传输速度较慢
    • 原理:见tcp.png
    • 示例:见01-tcp-http.py
    • TCP协议的服务器与客户端:见02-tcp-server.py03-tcp-client.py

    UDP协议

    • 说明:面向无连接的、数据不可靠、传输速度较快,适应于对数据要求不严格的情况
    • 原理:见udp.png
    • 示例:模拟飞秋发送数据,见04-udp-feiqiu.py
    • UDP协议的服务器与客户端:见05-udp-server.y06-udp-client.py

    StringIO与BytesIO

    • 说明:这些类型的对象可以与open返回的对象一样操作,但是操作的内存中的数据
    • 方法:getvalue用于获取所有数据
  • 相关阅读:
    leetcodedp72
    leetcodedp122
    leetcodedp714
    leetcodedp198
    leetcode518dp背包
    leetcodedp188
    leetcodedp309
    leetcodedp583
    leetcode123
    leetcodedp213
  • 原文地址:https://www.cnblogs.com/swjblog/p/9677824.html
Copyright © 2020-2023  润新知