假設我正在同步HTML頁上的文本,存儲在localStorage中,從計算機A到計算機B.當用戶編輯計算機A上的文本時,我向服務器發送一個請求,並告訴它哪些文本已更改。有沒有什麼辦法可以讓服務器告訴計算機B有新文本,而計算機B不得不繼續檢查?我讀過關於Comet的書,但我試圖不使用任何庫。有沒有辦法?另外,如果你打算推薦Comet,你能否用簡單的JavaScript和Comet來舉個簡單的例子?如何使用長輪詢(最好不使用Comet或node.js)?
我有一個想法,但我不知道它是否會工作。在計算機B上,我發送一次請求,讓服務器的文件繼續延遲響應,直到出現一些新的文本。那樣的話,就像長輪詢一樣,但是請求最終會超時。如果有一種方法可以將超時設置爲從不,那麼這將變得更容易。那麼,任何人有任何想法?
P.S.-我只想使用JavaScript和PHP,並嘗試避免使用庫。不過,如果你知道一個庫可以用JS和PHP來做到這一點,請告訴我。
此外,我知道有這樣的問題,但我在那裏找到的答案並不令人滿意。
哦,如果有人知道這裏的聊天是如何工作的,你能告訴我嗎? dr:我想從服務器發送一個請求到一個HTML頁面,或者讓HTML發送一個保持活動狀態的請求,直到創建一個適當的響應爲止。
這取決於你使用HTML5嗎?如果是這樣,您可以使用原始套接字與每個客戶端的服務器建立連接,如果沒有,則必須讓消費者(計算機b)持續檢查更新。另外,這是生產場所,學校項目還是個人項目?它在你如何去做它有所不同:) – jdarling
我使用HTML5(正如我所說我使用localStorage。:))。這是一個個人項目。其實Chrome擴展,所以我需要它是可靠的。 –
由於使用Flash hacks和增加了「localStorage」的實現,所以我沒有做出這個假設:)。這裏有幾個可能對你有用的鏈接; http://www.phpclasses.org/package/3213-PHP-Web-based-chat-using-AJAX-to-update-the-dialog.html和http://www.ibm.com/developerworks/web/ library/x-ajaxxml8/index.html?ca = drs- 這些包含基本「聊天」應用程序的PHP,MySQL和Ajax。應該是一個很好的起點。 – jdarling