问题标签 [sunrpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1965 浏览

c - 无法在远程过程调用中对参数进行编码以进行服务器注册

我有点疯狂地试图弄清楚为什么这不起作用。我正在使用 sunrpc,但生成的服务器代码会抛出以下内容:

无法注册服务:RPC:无法编码
无法注册的参数(MYRPC、MYRPC_V1、udp)。

我不知道为什么会这样。我正在执行以下操作来生成存根:

这是我的 XDR

编译 .x 文件以创建客户端、服务器、xdr 编组代码或标头时,我没有收到任何错误。我还实现了 rpc 接口,但由于在我尝试启动生成的服务器 (myrpc_svr.c) 时引发了该错误,因此无法对其进行测试。

这个错误消息甚至指的是什么论据?它不喜欢我在 XDR 中定义的函数的实现吗?为什么编码参数会导致程序甚至不注册?

实际上,我很惊讶这不是客户端错误消息

0 投票
1 回答
126 浏览

posix - 用于 RPC 的 XDR 中的 ssize_t 数据类型

我正在编写一个 RPC 应用程序。我需要在 C 部分使用 ssize_t 数据类型,并且需要通过网络发送。在 IDL 中我应该用什么表示 ssize_t?我可以将其转换为 int,但我想知道正确的方法,而不仅仅是转换为 int,不确定这是否是正确的方法。

0 投票
1 回答
207 浏览

c - linux rpc命令和重传

我们在我们的应用程序中使用 RPC(udp 套接字),我们注意到 RPC 在目标应用程序没有收到(或确认)消息时会重新传输它。

RPC 是否呈现消息的顺序?假设我们有消息 1 和消息 2,它是否等待消息 1 被接收者确认然后发送消息 2?

我也无法找到默认情况下它重试了多少次,如果在 x 次重试后发送失败,它会在某处记录它以便我们检查它吗?

谢谢

0 投票
1 回答
1785 浏览

c - 从服务器向客户端发送带有 sun rpc 的结构数组

如何在 ansi-c sun-rpc 中正确地将结构从服务器发送到客户端?

在我的test.x IDL 文件中,我定义了一个结构簇,它带有一个字符串和一个 int 以及一个类型 clusters,它是一个可变长度的簇元素数组:

然后我更改了 rpcgen 生成的存根,例如

测试服务器.c

test_client.c

两者都可以编译,但服务器经常在客户端运行一两个请求后出现段错误,并且在客户端,xdr_clusters 函数永远不会返回 true。这似乎是某种内存管理不善,我也不确定我是否正确处理了服务器端的序列化。

我只是用适当的值填充了 result.clusters_len 和 result.clusters_val,就像它们在test.h中定义的一样(由 rpcgen 定义):

我是否必须在服务器端使用 xdr_clusters 才能正确序列化结果?

谢谢你

0 投票
1 回答
429 浏览

rpc - 如何释放在我的 RPC 服务器中分配的内存?

我有一个将大量可变长度数据传输到客户端的 RPC 服务器。.x 文件看起来像这样

在服务器例程中,我有

我的问题是谁释放了在服务器例程中分配的数据?

0 投票
1 回答
206 浏览

amazon-web-services - 在 Amazon EC2 实例上设置 SUN RPC

任何人都可以帮忙吗?我被困住了。我有一个 EC2 实例和一个在本地运行良好的客户端/服务器 Sun RPC 应用程序。

服务器部分在 EC2 实例上运行正常(启动,等待客户端连接。

在我的家用电脑上运行的客户端部分总是说:

我在客户端和服务器上都运行了 rpcinfo -p,它们对我来说看起来不错:

EC2 服务器:

客户:

我已经为 EC2 实例上的 TCP 入站打开了端口 111。它看起来从客户端打开: nping -p 111 ec2-XX-XXX-XX-XX.us-west-2.compute.amazonaws.com 返回响应。

有人有什么想法吗?

0 投票
0 回答
185 浏览

c - 如何在 SUN-RPC 中实现多服务器和服务器端复制?

我正在尝试使用 Sun-RPC 实现多个客户端和多个服务器。但是,我一开始就无法同时运行多个服务器。

这是 IDL

这是服务器 1 的代码:

这是服务器 2:

这是我的客户 1 代码。

我正在尝试使用 Maekawa 算法通过我的客户端显式实现文件复制。然而,在同一个本地主机上的 RPC 上运行多个服务器是非常不可能的。甚至可能吗?如果我在不同的计算机上运行代码,那会起作用吗?目前,我从在第一台服务器之后运行的服务器收到分段错误。客户端只是脱口而出 Connection reset by peer。无论如何我可以完成这项工作吗?

0 投票
2 回答
1789 浏览

gcc - 包错误:FEDORA 30 中的 glibc-header

我正在使用 Fedora 30。为了安装Madagascar(一个地震包),有一个 ./configure 代码,它测试了几个要求。

glibc-headers 有一个错误:

Needed package: glibc-headers
Fatal missing dependency

在 config.log 文件中,我检查了错误:

gcc -o .sconf_temp/conftest_2.o -c -O2 -x c -std=gnu99 -Wall -pedantic .sconf_temp/conftest_2.c

.sconf_temp/conftest_2.c:2:14: fatal error: rpc/types.h: No such file or directory

哪里conftest_2.c是:

为了找到types.h我做了:

find /usr/include -name types.h 下一个结果:

我已经安装glibc-headers如下:

sudo dnf -y install glibc-headers
Package glibc-headers-2.29-15.fc30.x86_64 is already installed.

我该如何解决这个问题?

0 投票
1 回答
71 浏览

c - after generate the rpc files and try to compile it i get an conflict error

It's my first day trying to figure out rpcgen and I can't quite understrand 2 things. First of all, how am I able to return a pointer from a procedure. But my main question is why am i getting this error when I try to compile it after I generate it. Every information would be useful

I literally do this rpcgen -a -C proj.x then I change a part of the Makefile as follows:

and then I try the make command

Erorr:

proj.x

0 投票
1 回答
13 浏览

rpc - 我们什么时候可以得到 PORTMAP 过程的 GETADDR 和 GETPORT

有人可以评论端口映射程序版本的决定方式和级别。实际上在 2 个不同的环境中,我得到了不同的过程和程序版本。在情况 1:我得到程序版本 2 和过程 GETPORT 在情况 2:我得到程序版本 4 和过程 GETADDR。

我如何确保在每种情况下都调用 GETPORT 而不是 GETADDR。