首页 > 代码库 > 4.Java网络编程之TCP/UDP

4.Java网络编程之TCP/UDP

常见传输协议: UDP , TCP

UDP协议:

   特点:
         1.将数据及源和目的封装成数据包中,不需要建立连接
         2.每个数据包的大小限制在64K内
         3.因无连接,是不可靠协议
         4.不需要建立连接,速度快

举例:比如你向家里邮寄一个包裹,无论家里此时是否有人,都会发送。当快递员发送到你家时,如果有人,家里人就收到了包裹,如果家里此时没有人,包裹(数据包)就被丢弃了。

自我理解:

    当我们建立连接后,你说了一句:"你吃过饭了么?",接着你不管她有没有听到,你就继续说第二句话:“下午一起打乒乓球怎么样?”。由于没有确定对方是否听到你刚才说的话,因此可能会有是四种情况:

     第一种情况:她两句话都听到了,然后回答你:"吃过饭了,可以一起打球。".

     第二种情况:她只听到了第一句话,所以只回答:"吃过了!"但是不会回答你是否可以一起打球。

     第三种情况:她只听到了第二句话,所以只回答:"可以一起打球!"但是不会回答你是否吃过饭了。

     第四种情况:她两句话都没有听到,所以她不会回答你任何话。

     这就是传输层无连接的UDP协议。

TCP协议:

特点:
    1.建立连接,形成传输数据的通道。
    2.在连接中进行大数据量传输。
    3.通过三次握手完成连接,是可靠协议。
    4.必须建立连接,效率会稍低

经典举例:

1.下载文件。

2.打电话。

自我理解:

    当我们建立连接后,你说了一句:"你吃过饭了么?",接着你什么话也不说,等待她的回答。当她告诉你她听到你说的话了,而且回答你:“吃过了。”这时你才开始说第二句话:“下午一起打乒乓球怎么样?”接着你什么话也不说,等待她的回答。当她告诉你她听到你说的话了,而且回答你:“可以一起打球!”,你告诉她你听到了她的回答了,这时通话终止!

     这就是传输层面向连接的三次握手的TCP协议。

              TCP三次握手图解:

技术分享

4.Java网络编程之TCP/UDP