第十五章《网络编程》第3节:基于TCP协议的网络编程

如果希望开发一个类似于QQ那样的即时通信软件,就必须使用基于TCP协议的编程技术。基于TCP协议的编程可以实现在通信两端建立虚拟网络链路,这样的话通信两端的程序就能通过虚拟网络链路来进行通信。Java语言提供了专门基于TCP协议的类,使用这些类就能够以流的方式完成两个端点之间的通信。

15.3.1 TCP协议简介

在15.1小节中曾经介绍过IP协议,IP协议只能保证计算机在发送和接收数据时有明确的地址,但并不能保证数据一定会成功的发送到目标地址,也不能保证数据在发送和接收过程中不出现数据包顺序不发生错乱的情况。如果希望数据能够被正确的接收并整合,还需要计算机上安装TCP协议。

TCP的全称是“Transmission Control Protocol”,翻译成中文意为“传输控制协议”。当两台计算机建立连接时,TCP协议会让它们建立一个连接,这个连接用于发送和接收数据。当一台计算机发送数据时,TCP协议会把这些数据按照一定的规则整理好并发送出去,而另一台计算机在接收到这些数据时会将数据按规则进行还原,因此,TCP协议保证了数据包在传输过程中准确无误。

TCP协议具有一个很重要的机制,那就是重发机制。当一个通信实体发送消息给另一个通信实体后,需要收到对方的确认,如果没有收到另一个通信实体的确认,则会重新发送一次信息。

你可能感兴趣的:(Java从小白到高手,Java,网络编程,TCP协议,Socket,ServerSocket)