服务器/客户端的共享错误号? [关闭]

Posted

技术标签:

【中文标题】服务器/客户端的共享错误号? [关闭]【英文标题】:shared errno for server/client? [closed] 【发布时间】:2014-06-22 00:16:58 【问题描述】:

使用远程过程调用,我们如何为服务器端和客户端机器共享errno?

为了澄清,这里是我的问题的上下文: 我正在尝试实现分布式文件系统。我的目标是集中式设计,将文件保存在服务器上,客户端通过远程过程调用访问它们。因此,当客户端打开文件时,我在服务器机器上调用 open 并将缓冲区返回给客户端。我想保留共享的 errno 值,以便客户端能够检测到打开调用的失败并打印正确的错误消息。

【问题讨论】:

errno 在任何情况下都是一个坏主意,在分布式系统中是一个更糟糕的主意。改用异常或错误。 【参考方案1】:

似乎您的选择是:

1) 为每个 RPC 调用添加一个 errno(输出)参数,或者

2) 定义一个额外的 RPC 调用来“检索最新的 errno”

如果您有可能同时发生多个 RPC(例如,线程),选项 2 可能不是一个好主意,而将选项 1 留作余下的选择。在任何情况下,这都是直截了当的方法:如果客户端想知道 open() 的状态,它会查看该 RPC 调用的结果。

【讨论】:

以上是关于服务器/客户端的共享错误号? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

delphi 自动更新cs客户端的问题

FTP 文件共享服务

nfs

SMB服务,客户连接及服务配置问题解析

关于win7启动telnet客户端的服务

共享密钥时使用 Java 客户端的 SFTP [重复]