如何将 RPC 客户端和服务器分开,以便服务器在应用引擎上运行,而客户端在我的计算机上运行?

Posted

技术标签:

【中文标题】如何将 RPC 客户端和服务器分开,以便服务器在应用引擎上运行,而客户端在我的计算机上运行?【英文标题】:How do I separate the RPC client and server so that the server runs on app engine and the client runs on my computer? 【发布时间】:2012-07-10 18:31:28 【问题描述】:

我对这一切都很陌生,所以请多多包涵。我刚刚完成了this GWT 中关于 RPC 的教程。在本教程中,您将创建一个显示股票信息的 stockwatcher 应用程序。应用程序使用 RPC 从服务器获取数据。我将项目部署到应用引擎,效果很好。

现在我想要一个单独的、普通的 java 项目,它在我的计算机上运行并显示它使用 rpc 从应用引擎服务器检索的股票。在 stockwatcher 教程中,有一个客户端和服务器包。我将客户端包重构为一个新项目以开始。我知道我需要给它适当的网址,但我不知道该怎么做。 StockPriceService 具有注释 @RemoteServiceRelativePath("stockPrices") 所以我的第一个想法是以某种方式将其更改为正确的应用程序引擎 url。是否有允许我输入整个网址的注释?如果有人能指出处理这个问题的教程的方向,我将不胜感激。

谢谢你!!! :)

编辑

我正在尝试创建一个可以在我的计算机上运行的客户端,另一个可以在我的手机上运行的客户端,以及一个可以存储一些数据的简单应用引擎服务器。完成 RPC 教程后,使用 RPC 似乎是我发送和接收数据的好方法。我只是不知道如何跨多个项目设置 RPC 服务。

编辑 2

我刚刚看到this,所以我想我想做的事情是不可能的。我想我的新问题是,在应用引擎和非 gwt 项目之间发送和接收数据的最佳方式是什么?

【问题讨论】:

【参考方案1】:

请看以下链接 https://developers.google.com/appengine/docs/java/gettingstarted/ https://developers.google.com/web-toolkit/doc/1.6/tutorial/appengine 一个 appengine 项目将运行你的机器,你可以真正部署它,但你需要一个帐户。

【讨论】:

我完成了入门和部署到应用引擎的教程。如果我创建了第二个项目,我将如何将数据发送到应用引擎项目? 如果您的客户端不是 GWT,您将无法使用 GWT-RPC,您可以拥有任意数量的应用程序(移动设备等),每个应用程序都将与其 servlet 通信。 servlet 将与后端通信,在您的情况下是 Appengine。只有当浏览器运行 GWT 客户端时,浏览器和 servlet 才能与 GWT-RPC 通信。否则,只需以 JSON 格式 HTTP POST 您的数据。希望对您有所帮助。

以上是关于如何将 RPC 客户端和服务器分开,以便服务器在应用引擎上运行,而客户端在我的计算机上运行?的主要内容,如果未能解决你的问题,请参考以下文章

RPC漏洞挖掘案例研究(下)

iText + RPC。如何将 PDF 从服务器发送到客户端

保护 RPC 服务

如何将 C# 客户端 RPC 写入远程本机 C++ 服务器?

[go微服务-17] gRPC和 Apache Thrift 之间 如何进行选型?

rabbitMQ_rpc