2010-01-06 39 views
2

他們在這個演示中做了什麼正是我想要做的。這個演示使用了什麼彗星技術?

http://www.lightstreamer.com/demo/RoundTripDemo/

我不知道他們使用的是什麼技術彗星。

它不能是Firefox上的iframe原因我可以打開兩個標籤具有相同的鏈接。與iframe你不能這樣做。它不能長期投票與ajax因爲我沒有看到它用螢火蟲輪詢任何事情。

有人知道答案嗎? (對於使用相同技術完成同樣的事情的優秀教程鏈接會很好)。

+4

你將不得不提供一個外部可訪問的網址,任何人都能夠知道你在說什麼。 – NotMe 2010-01-06 17:13:38

+0

我收到'此網頁不可用'。由於某種原因..... – Echo 2010-01-06 17:23:28

+0

@Echo:原因是URL是LocalHost。因此,該鏈接試圖引導你到你的機器上的一個項目,並失敗,因爲它顯然不存在! – 2010-01-06 17:27:37

回答

1

儘管通過混淆腳本進行挖掘並不是我現在想象的那樣,通過頁面DOM的內容判斷,它將一個<form>中的數據發佈到隱藏的內部,以便將數據發送到服務器,並讓服務器發回帶有代碼的<script>標籤將數據傳回給調用者。

這是一個相當重量級和突兀的技術。這是在XMLHttpRequest之前的日子裏進行頁內服務器通信的唯一方式;我通常今天不會使用它。

(我希望的WebSocket會快點得到實現,所有的長輪詢污穢做了。)

+0

所以它使用的是iframe流媒體技術?但是現在不是彗星的可靠技術之一? – ajsie 2010-01-06 18:05:13

+0

是的。當然,正如你所看到的那樣,它可以工作......雖然有着難看的副作用,比如掛鉤瀏覽器的「loading ...」狀態。我不確定你在同一個鏈接上打開兩個標籤所指的問題是什麼。 – bobince 2010-01-06 18:16:06

+0

使用iframe,您不能同時在Firefox中打開兩個頁面,因爲它只允許一個iFrame。因爲它認爲第一個iframe(永久重新加載)沒有完成重新加載,因此等待它在刷新其他頁面之前先芬蘭語。我已經試過這個以及它是如何工作的。但是使用lightstreamers綜合演示,它可以打開多個演示頁面。但他們不使用iframe?測試http://www.zeitoun.net/articles/comet_and_php/start。只需下載iframe方法,並嘗試在Firefox中打開2個選項卡。第二個不會工作。 – ajsie 2010-01-06 21:02:42

1

看起來像由在LightStream開發多種技術,其中包括「香草」彗星。從Lightstreamer white paper簡要摘錄:

每個Lightstreamer客戶端通常打開一個永久連接 與Lightstreamer服務器,在其上推送更新有關的項目,框架和窗口的 任意數量由 複用技術旅行方式。

白皮書和演示都非常有趣......

1

有一次,我的lighttpd的Web服務器開發的module。該模塊實現了全雙工Ajax技術,與Comet非常相似。在我的blog posts中,您可以找到關於FDAjax/Comet,JavaScript示例,防火牆和防病毒程序等方面的問題的所有信息。

Lighttpd項目似乎已經死亡。據我所知,流行的nginx有類似的module。但是將來我們會使用網絡套接字。

順便說一句我用幾個HTTP地址(www1.example.com,www2.example.com,...)來解決最大兩個IP併發連接到同一個Web服務器的瀏覽器限制。實際上www [n]解析爲相同的IP地址。如果可能出現鎖定,瀏覽器會自動重定向到下一個www [n]地址。

+0

好的解決方法。我會嘗試解決max-2-ip問題。 – ajsie 2010-01-07 19:31:41