下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

学习UDP套接字的特点及其作用

作者:课课家教育     来源: http://www.kokojia.com点击数:1766发布时间: 2017-12-13 13:00:05

标签: web-iouHSRPMLS

软考,您想通过吗?一次通过才是硬道理

  UDP的中文名是用户数据报协议,是OSI(开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC768是UDP的正式规范。在这一篇教程里面,小编主要和大家简单的介绍一下:学习UDP套接字的特点及其作用。

  在UDP协议的应用过程里面,为了更加方便对于服务器以及客户端这两者的接触,我们发现了UDP套接字的一些好处。那么有人就会问小编,究竟什么是UDP套接字呢?在这一篇教程里面,小编就来简要对大家进行一下介绍吧。

  一、UDP套接字的特点

学习UDP套接字的特点及其作用_web-iou_HSRP_MLS_课课家

  相信大家都应该知道,UDP协议提供了一种不同于TCP协议的端到端服务。实际上UDP协议仅仅只实现了两个功能,具体如下所示:

  功能一:在IP协议的基础上面添加了另外一层地址(也就是我们经常说的端口);

  功能二:对数据传输过程里面可能产生的数据错误进行了检测,并且抛弃一些已经损坏的数据。

  正正就是因为它的简单性,UDP套接字还具有一些与我们之前所看到的TCP套接字不一样的特征。

  就比如说:UDP套接字在使用之前是并不需要进行连接的。TCP协议与电话通信有一点点相似,然而UDP协议就会和邮件通信有一点点相似。大家寄包裹或者是信件的时候是不需要进行"连接",但是大家得为每一个包裹以及信件指定目的地址。类似的,每一条信息(也就是数据报文,英文全称:datagram)负载了自己的地址信息,并且还会与其他的信息相互独立。在接收信息的时候,UDP套接字扮演的角色就像是一个信箱,从不一样地址发送来的信件以及包裹都能够直接放到里面。一旦被创建的话,UDP套接字就能够直接用来连续地向不一样的地址发送信息,或者是从任何地址接收信息了。

  另外一个方面,UDP套接字与TCP套接字的另外一个不一样点,就是在于他们对信息边界的处理方式不一样:UDP套接字将保留边界信息。这一个特性使应用程序在接受信息的时候,从某一些方面来说的话,就小编个人认为要比使用TCP套接字相对来说更简单一点。

  那么最后一个不一样点,就是在于UDP协议所提供的端到端传输服务是尽力而为(best-effort)的,也就是UDP套接字将尽可能地传送信息,但是并不保证信息一定可以成功的到达目的地址,而且信息到达的顺序与其发送顺序不一定是一致的(事实上,道理就像通过邮政部门寄信一模一样)。由此可见,使用了UDP套接字的应用程序一定要准备好处理信息的丢失以及重排。

  二、UDP套接字的作用

  有人就会问小编,既然UDP协议为程序带来了这一个额外的负担,那么为什么我们还会继续使用它然而不选择使用TCP协议呢?

  其中的一个原因就是因为效率了,假如说应用程序仅仅只交换十分少量的数据,就比如说:从客户端到服务器端的简单请求消息,或者是一个反方向的响应消息,TCP连接的建立阶段就至少要传输其两倍的信息量(除此之外,还有两倍的往返延迟时间)。

  然而另外一个原因就是灵活性哟,假如说除可靠的字节流服务之外,还有一些其他的需求,UDP协议就会为我们提供了一个最小开销的平台从而来满足任何需求的实现。

  大家可以看到,java程序员通过DatagramPacket类以及DatagramSocket类这两者来使用UDP套接字。客户端以及服务器端这两者都使用DatagramSockets来发送数据,然而会使用DatagramPackets来接收数据。

  小编结语:

  以上是今天的认证教程了,学习UDP套接字的特点及其作用。希望其能在您的学习之路有帮助之力。如果你也有这样的需要,那就赶快来学习一下吧。如果大家喜欢课课家教育的话,不妨可以推荐更多的朋友来哟!

赞(16)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程