TCP服务器与客户端通讯基本流程
在讲解TCP服务器与客户端之间通讯的基本流程之间,我们先来了解一下什么是TCP协议和UPD协议吧!
TCP协议:
TCP协议是在通信的两台设备之间建立连接通道,对传输的数据大小没有限制,但是因为建立了连接,相对可靠一些,但是速度会慢一些。TCP协议又称为三次握手--四次挥手协议,因为建立过程有三步(发送请求、获取 反馈、建立连接)。通常情况下,我们的蓝牙通信、打电话都是使用的 TCP 协议。
UPD协议:
UDP协议需要将数据打包,因为包有大小,所以对数据大小是有限制的,UDP是不用建立连接的,但不保证待接收方一定会接收到消息,所以不可靠。但是,因为不用建立连接,因此速度要快一些。通常情况下,我们发送短信都是使用的 UDP 协议。
本篇重点讲解TCP协议,下面我们了解一下TCP协议通讯的基本流程:
服务器端:
- 创建socket对象
- 使用bind()绑定主机号host和端口号port
- 使用listen()监听
- 使用accept()被动连接
- 使用send()/rece() 发送/接收数据
客户端:
- 创建socket对象
- 使用connect连接到服务器端
- 使用send()/recv() 发送/接收数据
- 关闭socket对象
下面举个简单的例子:
注:上图为没有客户端连接时的服务器端,下图为已连接的客户端和已连接的服务器端
且服务器端一直在运行,直到服务器端的连接
注:此时服务器端已运行完毕
这样子,一次简单的通讯过程就完成了!
以上仅为本人的一点理解,如有不足,欢迎指正!