tcp连接可以分为短连接和长连接。由上一节tcp网络编程–socket的简介了解到,在client和server之间建立tcp连接,需要经过三次握手(控制标志ACK起应答作用,SYN起同步作用),而断开连接,则需要四次握手(tcp是全双工的,因此每个方向都必须单独关闭。当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭)。
tcp短连接
短连接过程如下,在传输一次数据之后,连接关闭。如果需要传输数据,则需要重新建立连接。
建立连接===》数据传输===》关闭连接 ... 建立连接===》数据传输===》关闭连接
tcp长连接
长连接过程如下,在传输一次数据之后,连接没有直接关闭,而是继续等待,直到连接出现故障(机器断电、网线拔出、防火墙等问题),连接才会关闭。
建立连接===》数据传输...(保持连接)数据传输... ===》