我可以同时在多个服务器中调用同一RPC函数吗?

时间:2018-09-07 14:58:54

标签: windows winapi ipc rpc

我试图找到一些进程间通信的快速算法。 我需要的一项功能是能够同时向多个应用程序实例发送一个命令。我试图找出一天是否可以启动同一应用程序(local-rpc-server-app)的许多实例并从一个客户端调用RPC。为此,我使用了ncalrpc协议。

我只想启动服务器的多个实例,如果是客户端则启动一个实例,然后在客户端上一次调用相同的RPC函数,以在每台运行的服务器上评估此RPC函数。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用多个客户端线程(每个线程进行单独的服务器调用),也可以修改.acf并使用[async]属性标记该调用。如果您选择后者,则可以在单个客户端线程上进行多个调用。请注意,由于需要处理调用完成,异步RPC比同步RPC要复杂得多。

由于必须以某种方式发现这些终结点,并且从Windows Vista开始不再提供RPC命名空间功能(RpcNs *),对多个服务器实例(甚至是本地实例)的调用也变得更加复杂。