news 2026/7/7 4:19:38

35、Sun RPC 中的 XDR:外部数据表示详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
35、Sun RPC 中的 XDR:外部数据表示详解

Sun RPC 中的 XDR:外部数据表示详解

1. Sun RPC 中 TCP 连接的问题检测

在 Sun RPC 里,使用 TCP 的客户端或服务器在检测对端问题方面有一定优势。当对端进程提前终止时,对端的 TCP 会自动关闭连接,这样就能检测到问题。然而,若对端是多线程的 RPC 服务器,对端线程的终止并不会关闭连接,所以无法检测到这种情况。而且,当对端主机崩溃时,对端的 TCP 不会关闭已打开的连接,同样无法检测到。因此,处理这些情况仍需要设置超时机制。

2. XDR 概述

不同主机间进行 RPC 通信时,各主机可能使用不同的数据格式。一方面,基本 C 数据类型的大小可能不同,例如在某些系统中long类型占 32 位,而在其他系统中占 64 位;另一方面,实际的位序也可能不同,像大端字节序和小端字节序。

Sun RPC 采用 XDR(External Data Representation)标准来描述和编码数据。XDR 既是一种描述数据的语言,也是一组编码数据的规则。它使用隐式类型,这意味着发送方和接收方必须都知晓数据的类型和顺序,例如两个 32 位整数值,接着是一个单精度浮点数值,再接着是一个字符串。

与之对比,在 OSI 领域,通常使用 ASN.1(Abstract Syntax Notation one)来描述数据,使用 BER(Basic Encoding Rules)来编码数据。这种方案使用显式类型,即每个数据值前都有一个描述后续数据类型的值(“指定符”)。

XDR 对所有数据类型的表示都要求是 4 字节的倍数,并且这些字节总是以大端字节序传输。有符号整数值使用补码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 2:03:35

39、进程同步、线程基础与杂项源码解析

进程同步、线程基础与杂项源码解析 进程同步程序 在之前的程序里,多线程间共享计数器很简单,只需将计数器存为全局变量。现在,我们要修改程序,实现不同进程间的同步。 为了让父进程和子进程共享计数器,我们把计数器存于共享内存中,该共享内存由 my-shm 函数分配,代…

作者头像 李华
网站建设 2026/7/6 11:40:27

Kotaemon企业Wiki对接方案:Confluence/语雀等

Kotaemon企业Wiki对接方案:Confluence/语雀等 在现代企业中,知识的沉淀往往集中在Confluence、语雀这类协作型文档平台。但一个令人尴尬的事实是:尽管这些系统里存着成千上万页的操作手册、制度规范和流程说明,员工真正想找点信息…

作者头像 李华
网站建设 2026/7/7 11:57:53

Wekan 看板系统严重漏洞解析:CVE-2025-65779 允许未授权排序

CVE-2025-65779: n/a 严重性: 类型: 漏洞 CVE-2025-65779 在 Wekan(开源看板系统)18.15 及之前版本中发现一个问题,该问题已在 18.16 版本中修复。未经身份验证的攻击者可以更新看板的 “sort” 值(Boards.…

作者头像 李华
网站建设 2026/7/6 19:45:38

Kotaemon能否替代传统搜索引擎?应用场景边界探讨

Kotaemon能否替代传统搜索引擎?应用场景边界探讨 在企业知识管理日益复杂的今天,一个现实问题反复浮现:员工每天花费数小时在内部文档、邮件和系统中“翻找”信息,而客户则因客服机器人只能回答模板化问题而频频投诉。这种低效并非…

作者头像 李华
网站建设 2026/7/7 10:38:05

开源重塑下一代:22岁印度AI青年的“可复制”成长启示

近日,一则来自LinkedIn的个人动态在全球科技圈引发广泛关注。发布者是来自印度22岁的AI研究者Adithya S Kolavi。在这条帖子中,他系统回顾了自己在过去一年内的学习、研究、开源与创业成果——这份几乎“履历级”的总结,很快获得了2000余个点…

作者头像 李华
网站建设 2026/7/6 14:13:53

14.正点原子阿波罗H7之utest

1.嵌入式测试方法论一个产品如果完整测试流程:以 RT-Thread 的 PWM 驱动为例:单元测试(白盒):用 Utest Mock 测试 rt_pwm_set/rt_pwm_enable 函数的参数校验、返回值逻辑;集成测试(灰盒&#x…

作者头像 李华