2012-07-10 189 views
2

說我有一個應用程序,客戶可以進行一種預訂,然後我有一個管理界面來管理這些傳入的客戶預訂。PHP實時通知(推送?)

我將如何讓新預訂無需刷新即可推送到管理界面。類似於Facebook向你推送新通知的方式。

我看着AJAX,但是從我的理解來看,這隻能通過調用數據來實現,可以通過每隔5秒設置一個間隔來完成。這看起來並不理想,因爲即使沒有新的數據可用,該功能也將運行,浪費帶寬並導致性能風險。

我正在尋找的是服務器每次將預訂數據傳遞到管理界面的方式,客戶進行新的預訂。

我已經看過一個名爲pusher的應用程序,但我真的不知道如何使用PHP -codeinigter,以及如何實現它?

是否有人談論

感謝

+7

你可能會想看看[APE](http://www.ape-project.org/)或[Pusher-PHP](https://github.com/squeeks/Pusher- PHP) – 2012-07-10 15:47:49

回答

3

檢出http://pusher.com/,我最近也在研究實時更新,其中一個明顯的解決方案是'Reverse Ajax'。

這涉及到另一個用戶提到了一種長輪詢的形式,保持一個連接對服務器和數據直接傳遞。

Pusher提供了多種語言的後端庫和一個JavaScript接口,以將json字符串傳遞給用戶。

如果你有興趣,而無需使用服務,如推進看看http://www.ape-project.org/設立自己的推送服務器內部運行此(根據彗星服務器上)

我不會說因爲上面的鏈接解釋更它更優雅!

+0

用於PHP的Pusher客戶端很舊,需要更新。它從2013年11月起一直沒有工作。截至2014年4月,Pusher仍然鏈接到破損的PHP客戶端。 Pusher支持了3天,爲我確認客戶已經壞了,他們不會支持它。您可以通過Gearman或Beanstalk完成此操作,具體取決於管理界面的設計。 – 2014-04-15 15:42:54

0

你可能想看看HTML5「WebSockets的」或「長輪詢」(將與舊的瀏覽器的工作)對這種系統的IM的任何信息。

0

我不會因爲想要在這裏獲得幻想而傷透腦筋。

我推薦如果bandwitdh是一個問題,有一個輔助頁面發回時間戳。並且您的管理界面每5秒鐘檢查一次時間戳,如果時間戳發生了變化,那麼它會再次請求ajax更改或替換新數據。這種微小的請求帶寬並不明顯。 btw fb也會每隔幾秒做一次簡單的ajax民意調查。