我有一個基於java的web應用程序(struts 1.2)。我有要求在前端(jsp)上顯示狀態。現在狀態可能會改變,我的服務器被另一臺服務器通知。但我希望將此狀態更改通知給瀏覽器。通知瀏覽器服務器上的事件
我不想每隔一段時間刷新一次。相反,我必須實現像在Gmail聊天,即完成。通過更改服務器上的事件來通知瀏覽器。
關於如何去做這件事的任何想法?
我正在考慮打開一個請求到服務器的狀態的請求,並在服務器端我會保持請求,並不會迴應,直到有狀態更改。任何指針,例如?
我有一個基於java的web應用程序(struts 1.2)。我有要求在前端(jsp)上顯示狀態。現在狀態可能會改變,我的服務器被另一臺服務器通知。但我希望將此狀態更改通知給瀏覽器。通知瀏覽器服務器上的事件
我不想每隔一段時間刷新一次。相反,我必須實現像在Gmail聊天,即完成。通過更改服務器上的事件來通知瀏覽器。
關於如何去做這件事的任何想法?
我正在考慮打開一個請求到服務器的狀態的請求,並在服務器端我會保持請求,並不會迴應,直到有狀態更改。任何指針,例如?
有一種稱爲長輪詢(Comet)的方法。它基本上向服務器發送一個請求。在服務器上創建的請求線程只是等待用戶的新數據,時間限制可能爲1分鐘或更長。當新數據可用時,它將被返回。
主要問題是解決服務器端問題,您不希望每個用戶都只有一個線程在等待新數據。當然,您可以根據您的後端使用一些異步方法。
編號:http://en.wikipedia.org/wiki/Push_technology
替代的方法是使用WebSockets。問題是今天所有的瀏覽器都不支持它。