返回介绍

UDP 协议

发布于 2024-10-02 23:16:37 字数 637 浏览 0 评论 0 收藏 0

当来自客户端的连接数远大于 TCP 连接的上限时,可以使用基于 UDP 的接口。UDP 接口不能保证传输到位,所以只有在不要求成功的操作中使用;比如被用于一个“get”请求时,会因不当的缓存处理而发生错误或回应有遗失。

每个 UDP 数据包都包含一个简单的帧头,数据之后的内容与 TCP 协议的描述类似。在执行所产生的数据流中,请求必须被包含在单独的一个 UDP 数据包中,但是回应可能跨越多个数据包。(只有 getset 请求例外,跨越了多个数据包)

帧头有 8 字节长,如下(均由 16 位整数组成,网络字节顺序,高位在前):

  • 0-1 请求 ID
  • 2-3 序号
  • 4-5 该信息的数据包总数
  • 6-7 保留位,必须为 0

请求 ID 有客户端提供。一般它会是一个从随机基数开始的递增值,不过客户端想用什么样的请求 ID 都可以。服务器的回应会包含一个和请求中的同样的 ID。客户端使用请求 ID 来区分每一个回应。任何一个没有请求 ID 的数据包,可能是之前的请求遭到延迟而造成的,应该被丢弃。序号的返回是从 0n- 1n 是该条信息的数据包数量。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文