TCP服务器与客户端通讯基本流程

在讲解TCP服务器与客户端之间通讯的基本流程之间,我们先来了解一下什么是TCP协议和UPD协议吧!

TCP协议:

TCP协议是在通信的两台设备之间建立连接通道,对传输的数据大小没有限制,但是因为建立了连接,相对可靠一些,但是速度会慢一些。TCP协议又称为三次握手--四次挥手协议,因为建立过程有三步(发送请求、获取 反馈、建立连接)。通常情况下,我们的蓝牙通信、打电话都是使用的 TCP 协议。

UPD协议:

UDP协议需要将数据打包,因为包有大小,所以对数据大小是有限制的,UDP是不用建立连接的,但不保证待接收方一定会接收到消息,所以不可靠。但是,因为不用建立连接,因此速度要快一些。通常情况下,我们发送短信都是使用的 UDP 协议。

本篇重点讲解TCP协议,下面我们了解一下TCP协议通讯的基本流程:

服务器端:

  1. 创建socket对象
  2. 使用bind()绑定主机号host和端口号port
  3. 使用listen()监听
  4. 使用accept()被动连接
  5. 使用send()/rece() 发送/接收数据

客户端:

  1. 创建socket对象
  2. 使用connect连接到服务器端
  3. 使用send()/recv() 发送/接收数据
  4. 关闭socket对象

下面举个简单的例子:

TCP服务器与客户端通讯基本流程

注:上图为没有客户端连接时的服务器端,下图为已连接的客户端和已连接的服务器端

且服务器端一直在运行,直到服务器端的连接

TCP服务器与客户端通讯基本流程

TCP服务器与客户端通讯基本流程

注:此时服务器端已运行完毕

这样子,一次简单的通讯过程就完成了!

以上仅为本人的一点理解,如有不足,欢迎指正!