Articles of rpc

如何在erlang中更改我的主机名

这是我的kvs.erl: -module(kvs). -export([start/0, store/2, lookup/1]). start() -> register(kvs, spawn(fun() -> loop() end)). store(Key, Value) -> rpc({store, Key, Value}). lookup(Key) -> rpc({lookup, Key}). rpc(Q) -> kvs ! {self(), Q}, receive {kvs, Reply} -> Reply end. loop() -> receive {From, {store, Key, Value}} -> put(Key, {ok, Value}), From ! {kvs, true}, loop(); {From, {lookup, Key}} -> From […]

我怎样才能在另一个进程中调用一个函数

如何在另一个过程中调用“过程的function”? 我想通过这种方法在Linux的多进程与C或C ++语言之间实现发布/订阅模式。

如何缩短Windows RPC调用超时?

当我尝试调用由midl工具从IDL文件生成的RPC函数时,如果在RPC_BINDING_HANDLE中绑定的IP无法访问,它将阻塞大约20秒(在NdrGetBuffer函数处)。 我试图在RPC_BINDING_HANDLE上调用RPC_BINDING_MIN_TIMEOUT值调用RpcMgmtSetComTimeout函数,但是没有帮助,仍然需要等待~20秒。 有什么办法可以缩短这种情况下的超时等待时间吗? 非常感谢! 埃利奥特

没有用户loginrpc

我是新来的rpc ie iam在学习阶段,我想从下面的程序login的用户fin我没有编译像这样的“cc samrpc.c -lrpcsvc”,但它显示的错误和警告是 samrpc.c: In function 'main': samrpc.c:9:1: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default] samrpc.c:13:1: warning: incompatible implicit declaration of built-in function 'exit' [enabled by default] /tmp/ccxyIUNJ.o: In function `main': samrpc.c:(.text+0x51): undefined reference to `rnusers' collect2: error: ld returned 1 exit status 可以告诉我详细如何编译程序和扫描仪是我需要注意的要求:samrpc.c是程序名称我的程序下面 #include <stdio.h> int main(argc, argv) […]

SunRPC支持单向通讯(stream媒体/批处理?)

我们有一些服务使用Linux上的SunRPC(RHEL 4/5),我们希望加快速度。 我们的RPC调用不需要返回值,但是由于RPC的性质,总是发送ack。 这引入了最近成为问题的延迟 – 当运行在可靠的传输(TCP)上时,我们希望避免RPC应答引起的延迟。 Docs 在这里表示Solaris有“oneway”关键字,但是Linux / glibc似乎不支持这一点。 我们可以通过Linux上的SunRPC实现“stream式传输”或单向消息传递吗?

任何开源的C / C + +库/框架的RPCpipe道/内部的Linux套接字?

我正在寻找一个轻量级的开源库/框架,最好用C / C ++编写(它不需要支持x语言,应该很容易理解和使用),它可以用来在内部的linux套接字或pipe道上制作RPC。 换句话说,我正在寻找可以通过一些Linux IPC机制运行的RPC可能性。 谢谢

Java < – > C桥

我正在开发一个应用程序,它具有Glassfish服务器上托pipe的Java Web界面和作为Linux守护程序实现的C内核。 我现在最大的问题是如何进行远程过程调用。 我需要在两个方向调用函数和方法。 这些是我可以想到的可能的解决scheme: 使用Java本地接口和networking套接字来实现RPC。 D-Bus – 据我所知DBus可以用于Java和C之间的RPC。 我想使用最基本的方式,而不使用外部库或框架。 是否可以直接使用套接字来调用Java和C之间的函数/方法? 我使用的操作系统是Centos。 有没有更优雅的方式来连接这两种语言?

RPCexception的含义/原因“没有接口已导出”。

我们有一个相当标准的客户端/服务器应用程序使用MS RPC构build。 客户端和服务器都是用C ++实现的。 客户端build立到服务器的会话,然后在一段时间内重复调用它,最后closures会话。 然而,定期地,特别是在负载很重的情况下,我们看到一个RPCexception出现在代码1754中: RPC_S_NOTHING_TO_EXPORT 。 看来,这发生在一个会议的中间。 用户login了一段时间,成功的调用,然后其中一个电话莫名其妙地返回此错误。 据我们所知,服务器没有收到任何迹象表明任何事情都出错了 – 它肯定不会看到客户所做的调用。 错误代码似乎也具有永久性影响。 让客户端重试连接也不起作用。 但是,如果用户在同一客户端和服务器之间同时有多个用户会话活动,则其他连接不受影响。 本质上,我有两个问题: 有谁知道RPC_S_NOTHING_TO_EXPORT是什么意思? MSDN文档简单地说: "No interfaces have been exported." …呃? 该会议正常工作的许多相同的调用实例,直到这一点… … 有没有人有任何想法如何确定真正的问题? 注意 :捕获networkingstream量是我们宁愿避免的,如果可能的话,因为问题是零星的,我们可能会经历数千兆字节的stream量才会发生。

保护RPC服务

我正在写一个小的服务,将文件存储在磁盘上,并在以后,请求,返回给客户端。 我正在查看我的选项,以确保此服务,因此没有未经授权的程序可以读取/写入数据。 最简单的解决scheme将使用模拟,以便处理调用的服务线程模拟客户端,并让文件系统清理可以做什么或不做什么。 这里的问题是,服务本身必须能够在没有模拟的情况下读取文件(周期性function在后台运行)。 我已经阅读了MSDN上的以下章节,我正在寻找您或其他人以前使用的实用技巧来确保此类服务的安全。 http://msdn.microsoft.com/en-us/library/aa373582(v=vs.85).aspx

谁叫我的RPC?

我正在构build一个Microsoft RPC服务器,我想知道是否有一种方法来确定哪个用户称为RPCfunction? (意思是哪个用户正在运行调用RPC方法的进程)