使用 XML-RPC、javascript、php 进行实时页面更新

发布于 2024-10-21 20:24:27 字数 626 浏览 1 评论 0原文

我正在开发一个富客户端应用程序,其中用户界面是 html/css/javascript (codeigniter 框架),服务器部分是用 Java 编写的。本质上,这是一个监视/控制系统,用户可以通过用户界面发出命令,后端将执行该请求。

目前,RPC 是通过 XML-RPC 完成的。发送请求和接收响应工作得很好。然而,我的最新问题涉及实时用户界面更新。

服务器从它所监视的任何内容接收实时更新,我需要立即在用户界面中反映这些更改。目前,我们使用 XMLHttpRequest 来长轮询数据库是否有任何更改,然后更新 ui。显然,这有很多缺点,即时性是主要问题。

如何使用 XML-RPC 来打开请求,并且仅在有(感兴趣的)更新时才响应。一旦发生这种情况,更新 ui,并打开另一个请求;重复。但是,我不确定如何实现这一点,因为我不相信您可以从 Codeigniter 中的控制器调用 JavaScript 函数(在我看来,这是必不可少的,否则我如何在页面元素最初更新后更新它们)已加载)。

我将不胜感激任何建议。

编辑:我已经了解了彗星技术和网络套接字,不幸的是网络套接字对于这个项目来说并不现实。 Comet 或多或少是我建议的关于使用 xml-rpc 和一个长的开放请求的建议。所以,除了 comet 和 web sockets 之外,欢迎提出任何建议。

I am developing a rich-client application, where the user-interface is html/css/javascript (codeigniter framework), and the server portion is written in Java. Essentially, this is a monitor / control system where a user can issue a command via the ui, and the backend will carry out that request.

Currently, RPC is done over XML-RPC. Sending requests, and receiving responses is working very well. However, my latest issue involves real-time ui updates.

The server receives real-time updates from whatever it's monitoring, and I need to reflect those changes in the ui, immediately. Currently, we use a XMLHttpRequest to long poll the database for any changes, and then update the ui. Obviously, this has many disadvantages, immediacy being the main concern.

How about using XML-RPC to open a request, and only respond when there has been an update (of interest). Once that occurs, update the ui, and open another request; repeat. However, I am unsure of how this might be implemented, since I do not believe you can call a JavaScript function from a Controller in Codeigniter (in my mind, this is essential, how else can I update the page elements after they've initially been loaded).

I'd appreciate any suggestions.

Edit: I've read about the comet technique, and web sockets, and unfortunately web sockets is not realistic for this project. Comet is more or less what I am suggesting in regards to using xml-rpc and a long, open request. So, please, any suggestions are welcome OTHER THAN comet and web sockets.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我喜欢麦丽素 2024-10-28 20:24:27

查看 Comet

Check out Comet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文