问题标签 [rpc]

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 回答
646 浏览

c++ - 是否有与 RPC 上下文句柄等效的 WCF?

我正在更新旧的 C++ 服务以使用 WCF 而不是 RPC,并且在发送和接收句柄(HANDLE、void*..etc)时使用什么类型存在问题。在更新的服务中,我目前使用 IntPtr,但这在从 64 位版本的服务转换为 32 位版本时不起作用。IntPtr 不能反序列化,因为在内部它只是一个 void* ,这将根据您在哪个环境中运行而有所不同。

这解决了问题,因为 RPC 基础结构实际上从不发送句柄值,而是引用句柄的 GUID。此过程在以下文章中进行了描述:

请参阅上下文句柄部分

我正在寻找与此功能等效的 WCF。我可以自己在服务上编写类似的逻辑来执行此操作,甚至只是将 IntPtr 更改为 Int64,但我希望有类似于 RPC 方式的东西。

0 投票
2 回答
18304 浏览

rpc - RPC 在消息传递方面的缺点是什么?

RPC 在消息传递方面的缺点是什么?

0 投票
3 回答
7938 浏览

google-app-engine - 在 GWT 上对 RPC 进行单元测试时遇到问题

我正在尝试使用 GWT 进行 RPC 测试。我正在使用这里提到的默认 StockWatcher 项目,我下载项目,导入它,一切正常。

然后我在 StockWatcher 项目中运行 junitcreator:

这会在适当的测试目录中创建 StockWatcherTest.java,并为我提供一些托管和网络模式启动文件。

然后,我还将 junit.jar 添加到该项目的类路径中。

然后我修改 StockWatcherTest.java 以测试我是否能够向服务器发出异步请求。一切看起来都很好,但是当我尝试在托管模式下运行 StockWatcherTest.java 时,我收到以下错误:

在端口 0 HTTP 上启动 HTTP

监听端口 49569

开发 shell servlet 在模块 'com.google.gwt.sample.stockwatcher.StockWatcher.JUnit.gwt.xml' [WARN] 找不到资源:greet; (公共路径中是否缺少文件或模块 com.google.gwt.sample.stockwatcher.StockWatcher.JUnit.gwt.xml 中的标签配置错误?) com.google.gwt.user.client.rpc.StatusCodeException:不能在模块“com.google.gwt.sample.stockwatcher.StockWatcher.JUnit”的公共路径中查找资源“greet”

这是我的 StockWatcherTest.java 类

这是 com/google/gwt/sample/stockwatcher/StockWatcher.gwt.xml

这是我生成的战争中的 web.xml

那么我做错了什么?任何帮助表示赞赏。谢谢你。

0 投票
6 回答
11686 浏览

java - GWT 与 JDO 问题

我刚开始玩 GWT 我很难让 GWT + JAVA + JDO + Google AppEngine 与 DataStore 一起工作。我试图遵循不同的教程,但没有运气。例如,我去了这些教程:TUT1 TUT2

我无法弄清楚我需要如何以及做什么才能完成这项工作。请查看我的简单代码并告诉我需要做什么才能将其保存到数据存储区:

1. 地址实体

2. 个人实体

3. RPC调用

4. RPCCallsService

5. RPCCallsServiceAsync

6. **RPCCalls.gwt.xml

我试图在这些教程中添加 Key 类和其他所有内容,但看起来我错过了一些东西。

这是我的错误: 替代文字 http://vasura.s3.amazonaws.com/Picture2.png

或在我收到此错误之前:

无法将键解析为类型

使这个工作的最佳解决方案是什么?

0 投票
1 回答
11981 浏览

powershell - Powershell - 调用远程 WMI 对象 - RPC 错误 HRESULT:0x800706BA(RPC 服务器不可用)

我在 Get-WmiObject 和这个对象的使用方面遇到了一些麻烦。

以防万一,我正在连接到远程计算机——它不在 AD 中,而是在互联网中。

我正在使用凭据,并且能够通过命令检索 WMI 类或对象(具体来说,我想使用 Win32_Process)列表:

当我更改主机名或凭据时,我收到“RPC 不可用”错误或未经授权的访问。因此,我假设 RPC 服务器和 WMI 对象和类的检索工作。

但是当我检索它们时,我无法使用它们。在任何尝试它的情况下(调用方法或 Get-Member)它都会抛出这个错误:

我还没有找到任何其他类似错误的例子。我在 Vista Ent 上使用 PowerShell 1.0。机器。目标机器是 Win2003 R2(产品服务器将是 Win. Serv. 2008 - 尚未测试)。

我会很感激任何建议。谢谢你。

0 投票
2 回答
6782 浏览

windows-vista - “RPC 服务器不可用”

这真让我抓狂。我有两台测试机,一台 XP 和一台 Vista。我在两者上运行相同的命令。这些命令包括创建 logman 计数器(如带有命令提示符的 perfmon)、启动这些计数器、然后停止它们,然后删除它们。

问题是这样的:在 XP 上它们工作得很好,我得到了所有的统计数据,而且它总是有效的。在 Vista 上,它们第一次工作,但我总是收到错误消息,“RPC 服务器不可用”。

当我尝试启动计数器时会发生这种情况,而不是当我创建它时。

当我尝试检查 RPC 服务器时,它正在运行。

更令人困惑的是,计数器在本地机器上运行。(所以对于 XP,它们在 XP 上运行,而对于 Vista,它们在 Vista 上运行。)所以一个更奇怪的问题是,为什么它首先使用 RPC?

请问有人遇到过这个错误吗?我真的被困住了。

我做了很多研究,这似乎很常见。大多数解决方案(根据原始海报不起作用)总是检查服务是否正在运行。

PS 当我手动添加计数器时,这也会自我复制,即使是通过 perfmon。似乎它可以工作,然后出现问题并且它不想再次工作,无需重新启动机器。

PPS services.msc 也不允许我重新启动 RPC 服务,即使是管理员也不行。

0 投票
3 回答
34720 浏览

php - PHP 中的 REST 与 RPC

我正在构建自己的 Ajax 网站,并且正在考虑REST和 RPC。

如果我的服务器支持 Servlet,我只需安装persevere并结束问题,但我的服务器不支持 Servlet。

RPC 更易于编码 (IMO),并且可以轻松地用 PHP 编写。我只需要一个数据库查询执行器。我正在使用Dojo Toolkit和 JSON。

为什么我应该选择 REST over RPC 或 RPC over REST?

0 投票
2 回答
1988 浏览

.net - 使用 .NET 获得快速 RPC 的最简单方法?

在 .NET 中获取 RPC 的最简单方法是什么?我看到有 .NET Remoting 和 WCF,根据 Wikipedia,WCF 是 .NET Remoting 的继承者。

到目前为止,我只尝试了远程处理,这似乎很简单——到目前为止,我也没有遇到应用程序速度的任何问题。.NET 远程处理真的是让 RPC 工作的最佳方式,还是我应该研究 WCF(因为 .NET 远程处理将被停止使用?)?我只想与用 C# 编写的已知对象进行通信,所以我不需要任何这些 XML/SOAP/等。传输格式的东西。目标应用程序旨在分布在网络上,并且仅与自身的实例进行通信。在这种情况下,我只是想在某个地方连接到一个对象,而不必处理协议级别的问题。

0 投票
2 回答
2597 浏览

java - 您使用什么来与 GWT 进行客户端到服务器的通信?

GWT RPC 是专有的,但看起来很可靠,由 Google 提供模式支持,并且在我看过的每一本书和教程中都提到过。它真的是 GWT 客户端/服务器通信的选择吗?您是否使用它,如果不使用它,为什么以及您选择了什么?我假设我有可以容纳 RPC、EJB、Web 服务/SOAP、REST 等的通用服务器应用程序代码。

额外问题:我需要注意 GWT RPC 的任何安全问题?

0 投票
5 回答
3629 浏览

python - 快速的python/jython IPC?

我要做的就是通过套接字进行一些 RPC 调用。我有一台运行 jython 2.5 的后端服务器。我需要从在 CPython 上运行 Django 的前端服务器进行一些调用。我一直在努力争取任何形式的 IPC。

我尝试过的事情清单:

  • Apache Thrift没有任何实际版本,只有快照。我想用一些稳定的东西。
  • JSON-RPC很有趣,它应该能够在套接字上运行,但实际上大多数实现似乎只能在 HTTP 上运行。HTTP 开销正是我想要避免的。
  • Protocol Buffers实际上只是一个序列化协议。从我收集的内容来看,protobuf 为 RPC 提供了接口生成,但它只是接口。实际上编写所有连接代码取决于用户。如果我将无法使用套接字,我将只使用 JSON 进行序列化。它更简单,更快
  • Pyro无法将 Jython 作为服务器正常工作。某种套接字超时问题。我已经向邮件列表发送了一条消息。
  • pysage是的,用于消息传递!只有它需要 python 2.6 或处理模块(已编译扩展)。Jython 是 2.5 版,不允许编译扩展。
  • Candygram是 pysage 的一个有趣的替代品,但据我所知,它没有维护。我什至没有用 Jython 尝试过。有什么经验吗?
  • Twisted Perspective Broker Twisted 不适用于 Jython。

我知道用 XML-RPC 做这件事会很容易,这让我更加暴躁。我想避免 HTTP 的开销,但同时我真的不想用套接字来实现我自己的协议。如果我这样做,我会做错。

有任何想法吗?我可能会哭大约 20 分钟,然后就使用 XML-RPC。