2011-04-27 79 views
11

我正在考慮編寫一個需要能夠將消息推送到瀏覽器的實時Web應用程序。當我第一次讀到Comet時,由於瀏覽器的支持不力,人們似乎認爲它是一種脆弱和不成熟的方法。今天,它似乎是一種既定的和實用的技術。但據我所知,瀏覽器現在不支持基本方法(長輪詢,iframe和腳本標籤)比06年這個想法第一次流行時更好。彗星還不成熟嗎?

當然,在服務器端很難管理所有這些連接,但Comet框架解決了這個問題(甚至在'06年Twisted)這樣的事情中也是可行的。那麼有什麼好處呢:在瀏覽器中支持Comet還有什麼突破問題,還是那時候的人們錯了?

另外:我最近閱讀了一篇〜2010年的博客文章,總結了Comet技術的狀態,詳細介紹了每種方法。這聽起來像沒有任何方法是真正可行的。這個帖子非常有說服力,這就是爲什麼我仍然對Comet很前衛。關於這個博客我唯一能記住的地方是它有一個黑色背景(棕色或黑色)。有沒有人看過那篇文章?我真的很想再讀一遍。

回答

5

我認爲現在彗星是非常可行的,每個瀏覽器都支持長輪詢,所以你有一個通用的後備仍然可以工作,並且每個瀏覽器中的方法比長輪詢更具有性能。

你只是不經常看到它,因爲它支持不同的方法在每個瀏覽器,谷歌和Facebook有一個相當大的承諾有資源做到這一點,但你的平均喬Web開發。會浪費很多時間來獲得很少的收益。只有真正需要實時通信慧星提供的應用程序纔有這麼多。

我認爲現在有了像APE和cometD這樣的框架,可以爲您提供後端和客戶端實用程序,讓您看到更多的人能夠承擔複雜的任務。無論如何,它不可能不成熟,彗星只是一種以非常新穎的方式使用現有功能的技術。

+0

+1;我爲「冰雪山」(www.frozenmountain.com)工作,我們爲.NET提供了一個彗星服務器實現。因此,我在這個世界上花了很多時間。彗星是完全可行的,只要你有正確的實施。瀏覽器的支持沒問題,只要安德魯說,你可以正常回退。長時間輪詢實際上也是非常高效的,這要歸功於HTTP保持匿名和TCP連接重用。那麼把安德魯。 – jvenema 2011-05-08 16:41:37

3

我不認爲瀏覽器在彗星方面有很大的改變,它和幾年前一樣。所有的詭計都完好無損。 WebSockets將是最終的答案,因此瀏覽器製造商並不急於修復commet,但「標準」仍然不斷變化。

+0

毫無疑問,這仍然是件怪事,但我曾經看到有人說在生產中使用它甚至是不可行的。現在它無處不在(Meebo,Facebook聊天,Gmail中的聊天,Plurk),我再也聽不到了。但是,在客戶端沒有任何變化。所以我想知道這筆交易是什麼。 – Alex 2011-04-27 04:08:54