常见传输协议: UDP , TCP

UDP协议:

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

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

自我理解:

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

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

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

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

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

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

TCP协议:

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

经典举例:

1.下载文件。

2.打电话。

自我理解:

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

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

TCP三次握手图解:

4.Java网络编程之TCP/UDP的更多相关文章

  1. Java网络编程之TCP、UDP

    Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载.   ...

  2. Java网络编程之TCP

    Java网络编程之TCP ​ TCP主要需要两个类:Socket和ServerSocket,Socket是客户端连接服务器时创建,参数需要指定服务器的ip和端口,ServerSocket是服务器端创建 ...

  3. java网络编程之TCP通讯

    java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, /* *TCP *建立连接,形成传输数据的通道: *在连接中进行大数据量传输: *通过三次握手 ...

  4. Java网络编程之TCP通信

    一.概述 Socket类是Java执行客户端TCP操作的基础类,这个类本身使用代码通过主机操作系统的本地TCP栈进行通信.Socket类的方法会建立和销毁连接,设置各种Socket选项. Server ...

  5. 网络编程之TCP/UDP及其流程比较(转)

    TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 具体编程 ...

  6. java 网络编程之TCP通信和简单的文件上传功能

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  7. java网络编程之TCP实例

    Dgram类 package Socket; import java.net.DatagramPacket; import java.net.InetAddress; public class Dgr ...

  8. Java网络编程之UDP

    Java网络编程之UDP 一.C/S架构中UDP网络通信流程 ①创建DatagramSocket与DatagramPacket对象 ②建立发送端,接收端 ③建立数据包 ④调用Socket的发送.接收方 ...

  9. Java网络编程之InetAddress浅析

    Java网络编程之InetAddress浅析 一.InetAddress综述 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetA ...

随机推荐

  1. MySQL数据表range分区例子

    某些行业数据量的增长速度极快,随着数据库中数据量的急速膨胀,数据库的插入和查询效率越来越低.此时,除了程序代码和查询语句外,还得在数据库的结构上做点更改:在一个主读辅写的数据库中,当数据表数据超过10 ...

  2. js 预处理用户上传图片

    前几个月闲得无聊写得一段代码,没想最近刚好用上了,在硬盘里翻了半天找回来,还没好好整理直接用上了手机用户拍照上传的图片一般都在1M 到4M 之间,如果只是用作头像尺寸就可以缩小很多,1M甚至几M的图转 ...

  3. reactjs 接入数据模型以及markdown语法的支持

    页面如下: reactjs 数据接入,直接定义数据(json),如下: reactjs 数据接入,从服务器抓取数据(json),如下:  

  4. PHP的函数应用

    1.全部变量 全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的结尾.和其他编程语言不同,全局变量不是自动设置为可用的.在PHP中,由于函数可以视为单独的程序片 ...

  5. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  6. ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作

    说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...

  7. removeClass 按钮点击添加class效果

    html代码: <div class="game"> <span class="active">全部</span> < ...

  8. HTML5的实用

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #ffffff } p.p2 ...

  9. TSQL Merge On子句和When not matched 语义理解

    Merge 的On子句指定Match condition,When子句指定过滤条件,如果Source Table和Targe Table匹配的上,很好理解:如果匹配不上,必须深入理解不匹配的条件,否则 ...

  10. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...