女孩和机器人一起思考

一起动脑筋 · 先看一个小故事

游戏画面里机器人已经走到新位置,一条很旧的位置消息丢了。是否必须等它回来才能继续?

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 产生消息当前位置
  2. 发送数据报交给网络
  3. 可能丢失UDP 不自动重传
  4. 应用决定跳过或自行补救

UDP 提供数据报传输,不在协议本身保证可靠送达或有序到达。

少一些等待机制,可以让应用按自己的需要设计通信。实时应用可能更关心最新状态,也可能在 UDP 上增加确认、纠错或重传。

使用 UDP 并不意味着什么错误都不管,而是这些需求需要其他层面处理。

轮到你来试一试

银行转账这样的业务能仅因为用了 UDP 就忽略丢失吗?

想好了吗?点开看解释

不能。重要业务仍需要可靠处理与确认机制,不能把某种协议的特性当作业务正确性的替代。

带走一个发现

UDP 提供数据报传输,不在协议本身保证可靠送达或有序到达。

试着遮住上面的图,把每一步讲给家人听。如果某一步说不清楚,就回到那张卡片再看一遍。