2013-04-26 101 views
1

如何從服務器端刷新當前客戶端視圖頁面?例如,如果我想強制刷新所有客戶端正在查看的頁面,以便他們可以查看新內容。我想在使用PHP的時候進行刷新。forece從服務器端刷新客戶端頁面

有沒有可能?

+0

AFAIK你不能發送'響應',直到他們'請求' – 2013-04-26 18:51:00

+0

@legendinmaking是正確的。你將不得不通過JavaScript,JQuery等發送一個請求到PHP頁面來刷新它。一旦PHP被渲染,它就完成了,不能刷新「本身」 – Zak 2013-04-26 18:52:44

+0

不可能。一旦頁面被髮送到瀏覽器,然後向用戶請求進一步的頁面等。 – Vector 2013-04-26 18:52:57

回答

1

使用Web套接字。您可以使用thisthisthis

我認爲php套接字將要求您有PHP版本的5.3或以上。

如果您沒有PHP V5.3或以上,您可以使用Node JSSocket.io

朗池也是選項之一,但不會是考慮請求數很好地解決您的服務器會越來越。用戶的帶寬使用率也會很高。

0

如果你想在特定的時間間隔刷新頁面,在你的<head>包括此:

變「5」到任何的秒數
<meta http-equiv="refresh" content="5"> 

你喜歡。

如果你想刷新只有當事情發生了變化,你需要得到一些Javascript的客戶端 - 例如,向URL發送Ajax請求,該請求會在頁面加載後詢問是否有新數據,並在必要時刷新。

4

你可以得到的行爲方式有兩種:

的WebSockets - 如果所有的客戶端通過網絡協議連接,你必須在客戶端和服務器之間的直接連接。你需要在時間上有創意,但是你可以隨時發送一個需要刷新的命令。這要求您實現PHP http://socketo.me/和JavaScript中的Web套接字。

輪詢 - 您可以設置客戶端每隔x秒發送一次AJAX請求。服務器響應一個bool值,AJAX成功處理程序使用它來確定是否應該刷新頁面。