网络编程

145 阅读2分钟

什么叫做网络编程

在网络通信协议下,运行在不同的计算机之间的软件进行的数据传输

网络编程三要素

  1. IP (用来确认是哪几台计算机在进行数据传输)

    ---设备在网络中的地址,是唯一的标识

  2. 端口号 (用来确认是计算机内的哪个软件,一个软件只能使用一个端口号)

    ---应用程序在设备中唯一的标识

    ---端口号由两个字节表示的整数,取值范围为:065535,其中01023之间被知名网络服务和应用占用

  3. 协议

    ---计算机网络中,连接和通信的规则; 常见的协议有UDP,TCP,http,https,ftp

    ----组成

    • 应用层--HTTP、FTP、Telnet、DNS...
    • 传输层--TCP、UDP...
    • 网络层--IP、ICMP、ARP...
    • 物理链路层--硬件设备010101010101

UDP协议

  • 用户数据报协议
  • UDP是面向无连接通信协议,不需要检查网络
  • 优缺点: 速度快,有大小限制,一次只能发送64K,数据不安全,容易丢失数据
  • 通信方式:单播、组播、广播

TCP协议

  • 传输控制协议
  • TCP是面向连接的通信协议,传输前需要检查网络
  • 优缺点: 速度慢,没有大小限制,数据安全

TCP三次握手

确保连接的建立

  1. 客户端向服务器发出连接请求,等待服务器的确认
  2. 服务器向客户端返回一个响应,告诉客户端收到流量请求
  3. 客户端向服务器再次发出确认信息,连接建立

TCP四次挥手

确保连接断开,且数据处理完毕

  1. 客户端向服务器发出取消连接请求
  2. 服务器向客户端返回一个响应,表示收到了客户端的取消请求
  3. 此时服务器处理完毕未处理的数据后,再次向客户端发送确认取消连接的信息
  4. 客户端再次发送确认取消信息,连接取消