我正在開發一個富客戶端應用程序,其中用戶界面爲html/css/javascript(codeigniter框架),服務器部分用Java編寫。實質上,這是一個監視器/控制系統,用戶可以通過ui發出命令,而後端將執行該請求。使用XML-RPC實現頁面更新,javascript,php
目前,RPC是通過XML-RPC完成的。發送請求和接收響應工作得很好。不過,我最近的問題涉及到實時UI更新。
服務器接收來自其監控的任何實時更新,並且我需要立即在ui中反映這些更改。目前,我們使用XMLHttpRequest來長期輪詢數據庫以進行任何更改,然後更新ui。顯然,這有很多缺點,即時性是主要關心的問題。
如何使用XML-RPC來打開一個請求,並且只有在有更新(感興趣的)時才進行響應。一旦發生這種情況,請更新ui並打開另一個請求;重複。然而,我不確定這是如何實現的,因爲我不相信你可以從Codeigniter中的控制器調用JavaScript函數(在我看來,這是非常重要的,我怎麼才能在初始化之後更新頁面元素已被加載)。
我會很感激任何建議。
編輯:我讀過關於彗星技術和網絡套接字,不幸的是網絡套接字對於這個項目並不現實。彗星或多或少是我所建議的關於使用xml-rpc和長時間打開的請求的。所以,歡迎任何建議,但不包括彗星和網絡套接字。
您可能需要閱讀Web套接字。 http://en.wikipedia.org/wiki/WebSockets – jessegavin 2011-03-15 03:44:35