我正在創建一個將Web套接字用於通知系統的應用程序。將應用程序放置在父頁中的Web套接字的iframe中是否更好,因此每次頁面加載時都沒有新的連接?或者,也許它應該重新連接?是否在應用程序中使用iframe
你的想法是什麼?
如果任何人有任何其他方式在PHP中獲得推送像通知沒有發送一個AJAX請求每隔10秒,然後讓我知道。
謝謝。
我正在創建一個將Web套接字用於通知系統的應用程序。將應用程序放置在父頁中的Web套接字的iframe中是否更好,因此每次頁面加載時都沒有新的連接?或者,也許它應該重新連接?是否在應用程序中使用iframe
你的想法是什麼?
如果任何人有任何其他方式在PHP中獲得推送像通知沒有發送一個AJAX請求每隔10秒,然後讓我知道。
謝謝。
這是您所描述的選項之一。
該選項的問題是不會直接控制該內部iframe的內容,並且您需要在iframe的父級之間實現推送消息窗口通信,以便能夠更改iframe src屬性,以防有人刷新父頁面,並且iframe應刷新爲實際狀態,而不是初始頁面。
第二個問題,根本不會有SEO。所以你的網頁不會被搜索引擎機器人抓取。如果SEO對你的應用很重要 - 那麼這不是一個選擇。 在WebSockets中,如果您使用會話,將會話用於普通PHP腳本和WebSockets邏輯非常重要,以保持對數據本身的一致訪問。 PHP將使它不是一件容易的事。
您也可以考慮Long Pull技術,因爲它允許打開一個AJAX請求,然後獲取響應,並且此請求可能會持續一段時間,但最終會關閉,並且必須在客戶端重新打開。
另一種選擇是查看實際的應用程序體系結構,並考慮單頁面應用程序。它也有缺點和優點。
關於它的好處是UX會更高。響應時間以及您將加載較少的內容和數據。
優點是它需要在JavaScript的前端進行大量的開發。還有兩種主要的途徑可以做單頁面應用程序。一致和不一致。在第一種情況下,您需要確保您的後端將在刷新時服務器靜態html或僅導航到特定的鏈接,就像您的單頁應用程序使用java腳本生成一樣。然後它解決了搜索引擎優化的問題。雖然不一致的方法,將只是純粹的JavaScript(前端),並將與搜索引擎優化問題。
WebSockets通常與單頁應用程序一起使用,例如Facebook Chat就是一個很好的例子。或Google Talk,而您在Gmail帳戶。 它們並不意味着與經常刷新的頁面一起使用,因爲握手過程比正常的HTTP請求要重要得多。
沒有SEO是好的,這是一個內部公司的應用程序。感謝幫助使我對事情有了更清楚的瞭解。 – 2013-03-11 15:07:38