网络编程

相关概念

  • 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用于获取所有数据

版权声明:本文为swjblog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/swjblog/p/9677824.html