网络编程

Socket(套接字)

  • socket(简称套接字)是进程之间通讯的一个工具,好比现实生活中的插座,所有的家用电器想要工作都是基于插座进行的,进程之间想要进行网络通信需要基于这个socket
  • socket是封装了通络通信的接口(类、函数),我们不用关心底层实现。也可以把socket想成一部手机,想要打电话就必须用它,至于怎么实现的打电话这个功能的我们不用关心。
  • 作用:负责进程之间的网络数据传输,好比数据的搬运工。
  • 主动套接字:创建出来是为了主动连接别人的(客户端),默认的。
  • 被动套接字:为客户端提供服务的套接字。

TCP

  • 定义TCP的英文全拼“Transmission Control Protocol”简称传输控制协议

TCP通讯步骤:

  1. 创建连接
  2. 传输数据
  3. 关闭连接
  • 类比TCP通信模型相当于生活中的“打电话”,在通信开始之前,一点更要先建立好连接,才能发送数据,通讯结束要关闭连接。
  • TCP特点:它是一种面向连接的可靠的基于字节流的传输层通信协议。
  • 字节流不包含边界数据的连续流(想象成水),最小单位是字节
  • 应用TCP是一个稳定、可靠的传输协议,常用于对数据进行准确无误的传输,比如:文件下载、浏览器上网。

TCP建立连接的三次握手

Python进阶学习笔记——网络编程(2):套接字、TCP_TCP

TCP断开连接的四次挥手

Python进阶学习笔记——网络编程(2):套接字、TCP_Python_02