是否可以使用RPC将参数从服务器包传递到客户端包?

时间:2011-01-19 09:44:33

标签: java gwt gwt-rpc

我有一个GWT项目,其中我在客户端软件包中编写了一个Web界面,以及连接到服务器软件包中的远程服务器的代码。界面向用户显示某些参数,他/她必须选择它们并向远程服务器进行查询。

我已经使用RPC调用将用户选择的参数传递给服务器包,但是我想知道是否可以进行反向操作,因为我想绘制从服务器检索到的数据嵌入式谷歌地图(检索到的数据是地理参考),所有这些绘图都是在带有纯GWT类的客户端包中完成的。

你怎么看?可能吗?任何的想法?我是否必须在客户端绘制地理参考数据?

感谢所有人。

5 个答案:

答案 0 :(得分:0)

你可以使用jwebscoket或websocket来做RRPC(反向RPC)。更多信息可以在http://jwebsocket.org/获得。

答案 1 :(得分:0)

我在这个论坛上看过:http://markmail.org/message/ksrbkwbhlbgq44yx以下评论......你怎么看?

  

'反向'RPC调用GWT客户端   是不可能的 - 你能做什么   是提供刷新按钮还是有   您的客户端定期轮询服务器   获取最新数据的时间间隔。

感谢您的帮助

答案 2 :(得分:0)

您正在寻找的是服务器推送框架/库。其中一个是彗星。 Comet是一种Web应用程序模型,其中长期持有的HTTP请求允许Web服务器将数据推送到浏览器,而浏览器不会明确请求它。 GWT有很多库,但这里有几个:
http://code.google.com/p/gwteventservice/
http://code.google.com/p/gwt-comet/
http://code.google.com/p/rocket-gwt/wiki/Comet
http://www.jboss.org/errai
http://code.google.com/p/dwr4gwt/

说明:
http://www.jroller.com/masini/entry/a_comet_implementation_for_google
http://wintermuteblog.blogspot.com/2010/01/websphere-gwt-comet.html

答案 3 :(得分:0)

如果您希望服务器代码启动RPC以向客户端发送内容,那么您正在寻找服务器推送或WebSockets。

一个可能对您有用的更简单的替代方法是让客户端轮询服务器。鉴于这项服务:

public interface MapParamsService extends RemoteService {
  MapParams getMapParams();
}

你可以让客户端每隔5秒调用一次getMapParams(),直到它返回非null值。

答案 4 :(得分:0)

我得到你问题的每一部分,但你可以在你的rpc方法中使用返回类型。并且有一个共享包,你可以为要从服务器返回的用户定义数据类型创建一个模型类。