请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于UDP的不可靠还是不太理解

老师, 关于你讲的UDP不可靠的几个点, 我还是不太理解, 能否详细描述一下?
1.它一旦将应用程序发给网络层的数据发送出去, 就不保留数据备份
//数据不就是用来发送的么, 发送出去, 发送者的任务就完了了啊, 怎么就不可靠呢?
2.UDP在IP数据报的头部仅仅加入了复用和数据校验(字段)
//加入这两个字段和可靠性有什么关系呢?
3.发送端生产数据, 接收端从网络中抓取数据
//你在视频中说: 发送和接收的时机不对,可能接收不到数据. 什么样的情况是发送时间不对呢? 服务端不是一直监听端口么,怎么会接不到数据呢?
4.结构简单, 无校验, 速度快, 容易丢包, 可广播
//无校验是无什么样的校验呢, 容易丢包, 为什么容易丢包呢?

正在回答 回答被采纳积分+3

1回答

Qiujuer 2020-01-26 20:14:10
  1. UDP负责发送数据,并不负责可达性校对数据。也就是说你把数据丢出去到客户端,此时要经过很长的链路,各个运营商等。。。说不定中间某个过程就丢了一个字节,或者某批数据干脆就没送达。所以对于客户端来说可能会没有收到数据,或数据不全。

  2. 这个点其实也跟第一点一样的,综合起来会出现不可靠的情况。

  3. 对于服务器来说一直处于监听状态则没有这个考量,对于客户端来说,往往开发是线性思维,发送-然后接收。此时接收监听在发送之后,此时说不定服务器返回的数据已经被路由链路丢弃了。

  4. 无校验,简单来说就是客户端收到啥就用啥,服务器收到啥就用啥,其中的数据可能存在传输中丢失或粘包的情况。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信