这里介绍非常有用的TCP协议和UDP协议的基本原理及通信特点TCP协议原理:
TCP(Tranfer Control Protocol)提供面向连接、可靠的字节流服务。在传输数据流前,双方会先建立一条虚拟的通信道。一个TCP 连接必须要经过三次“对话”才能建立起来,一为请求连接,二为同步要求,三为确认发送。详细的讲,TCP连接为接受端的接收缓冲区设置滑动窗口,接收端只允许发送缓冲区能容纳的数据,在滑动窗口的基础上进行流量控制,以防止数据溢出缓冲区。接收端还会在接收时进行TCP数据校验,有错就放弃该分片,不确认其接收,使之超时重发。这就保证数据的准确性和可靠性,同时也相对增加数据量和传输时间。
UDP协议原理:
UDP(User Data Protocol)协议是将网络数据量压缩成数据包的形式在网络中进行传输,是一种无连接的协议。使用UDP传输数据时,每个数据段都是一个独立的信息,包括完整的源地址和目的地,在网络上以任何可能的路径传到目的地,因此,能否到达目的地,以及到达目的地的时间和内容的完整性都不能保证。不过UDP报头携带的信息比TCP的少的多,有更多的数据空间。
TCP协议和UDP协议的通信特点:
TCP是面向连接的可靠的协议,适用于传输大批量的文件。它提供有效流控、全双工操作和多路复用的服务。
DP适用于一次只传送少量数据、对可靠性要求不高、对速度要求很高的应用环境(如在线视频)。UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所花时间少,此外它的数据密度大,所以它的通信效率高,实时行很好。
此外TCP不能发送广播和组播,只能单播,而UDP可以广播和组播。TCP的传输模式是流模式,UDP的是数据报模式。TCP占用的系统资源较多。UDP段结构比TCP的简单,网络开销小。
总之,速度和可靠性只能二选一,目前最常用的协议是TCP/IP 协议和UDP 协议。而其他的如RMI,SOAP,FTP ,等协议都可以说是构建在这两者之上的。怎么选看环境了。