2010-05-05 65 views
0

我有一點(也許答案可能需要一本書)關於Web服務和服務器端編程的問題。實時網絡服務

但首先,有點序言。 最近我們看到了一種新的應用&遊戲使用某種實時與數據庫的交互,或者更一般地與其他用戶進行實時交互。我在談論共享繪圖畫布,像this或簡單聊天遊戲,或Android應用程序「一個照片世界」,其中實時看到誰在線,分享您的照片等。

Now我的問題: 所有這些應用程序是基於傳統的TCP客戶機/服務器體系結構,還是有一種方法可以使它們更簡單,就像LAMP這樣的Web平臺?

我在問什麼,換句話說就是: PHP + MySQL(或者JSP,RoR或者其他服務器語言)能夠讓在線用戶實時通信並共享數據嗎?有沒有辦法做到這一點,而沒有臨時表的醜陋和沉重的機制?

謝謝!我希望我已經清楚。

回答

-1

有這個瘋狂的黑色魔法事物稱爲P2P(peer-to-peer),使所有這一切成爲可能。

我不知道,但我不認爲它會趕上。

8 d

-1

編輯:CRAP ....我沒有看到這個問題被張貼的日期。

我簡直不敢相信。這是我連續第三次涉及XHR Long Polling又名Comet編程。達利茲,你想要什麼是可能的,簡單,並通過各種網站使用XHR長輪詢完成。

概念:通常,Web瀏覽器向服務器發送一個請求,服務器發回一個響應並關閉與瀏覽器的連接。 Comet編程不是在最後關閉連接,而是保持連接打開。所以,瀏覽器和服務器之間的連接仍然是打開的。所以,簡而言之,當我們想連接到Alice時,我們發現線程連接到她的瀏覽器並將消息發送給Alice。

Facebook chant使用相同的概念。 Please read This

如果你的客戶端不是一個web瀏覽器,而是一些web服務,那麼它更容易。與Web瀏覽器不同的Web服務有一個地址。因此,客戶服務使用回調URL調用主服務並註冊到特定事件。當這個事件發生時,像某人正在繪製東西,主要服務將使用客戶端服務的回調URL來通知該動作。

在共享照片或其他二進制數據之類的數據時:也可以將來自一個用戶的輸入流發送給所有其他相關用戶。所以一個簡單的字符串或照片可以共享。但是這也意味着照片接收端的用戶不會有像「xxx給你發過照片的消息,點擊此處下載」等消息。他們只會得到一個「你想打開還是保存這個文件」選項。

+0

如果下選舉人留下了一個理由,那將會很好。 – 2013-02-13 14:59:48