2010-01-06 35 views
1

我想創建一個Google Wave類似的網絡聊天/論壇應用程序。聊天/論壇應用程序:長輪詢還是iframe?

當一個人正在輸入一個新帖子或在其中嵌入一個圖像時,其他人就會看到它。

我已閱讀關於不同的技術,我覺得長輪詢和iframe是最受關注的。

那麼,我應該使用哪一個應用程序,爲什麼?我讀過一些關於長時間輪詢對於更新時間間隔很長的事情。因爲如果它是一個聊天,那麼它必須爲每個擊鍵請求新的數據。這就像打字時每秒鐘輪詢一樣。所以基於此,我應該使用iframe,以便始終只有一個連接?

meebo/google wave使用什麼技術?

回答

1

長輪詢聽起來像是這種應用程序的不錯選擇,但您可能需要考慮在關鍵筆劃和服務器回調之間有某種延遲/緩衝期。它不需要很長時間(不到一秒)才能獲得嚴重的速度增益。

您可能還想考慮使用Adobe Flash作爲客戶端JavaScript和您自己的自定義通信協議之間的橋樑。這提供了更好的控制和更少的開銷,但帶有客戶端插件依賴關係的價格。

最後,但不是至少,您可能需要考慮在Google Wave之上構建應用程序。除非您爲構建克隆構建Wave的克隆,否則它可能會爲您提供許多所需的基礎架構。

我不想聽起來很刺耳,但我認爲你可能需要深入探討一下這個問題,當你有一個更具體的問題時回覆。

+1

但問題是爲什麼我應該使用長輪詢而不是iframe?因爲長時間輪詢,您必須在每次擊鍵後請求新信息,以便其他用戶看到此信息。但與iframe你不需要任何要求。它只是通過當前連接從服務器中推出,對嗎? – ajsie 2010-01-06 11:41:06

1

非iframe類似技術統稱爲Comet,由於您沒有提及任何特定語言,您可能會嘗試使用最近已發佈的CometD,並且應該支持您想要執行的操作。或者你只是直接挖掘Google Wave編程,因爲它似乎已經擁有了你所需要的一切。就我個人而言,我總是發現所有的iFrame解決方案都有點不足。

+0

即時通訊使用php。但如果我使用長輪詢,這是不是意味着我不必使用彗星服務器? – ajsie 2010-01-06 11:47:38

+0

是的,我認爲你應該這麼做,因爲保持HTTP連接長時間存活尚不是標準和實現的一部分。在PHP中,如果我認爲30秒的最大執行時間已經存在問題,那麼無論如何您的連接都將丟失。 Google Wave也在使用Java Server + GWT。 – Daff 2010-01-06 12:57:59

相關問題