2012-01-03 49 views
1

我一直在學習的APE(阿賈克斯推進引擎 - http://www.ape-project.org/)幾個星期,我已經閱讀所有他們的文檔在網站上。如何將HTTP流媒體服務器APE(阿賈克斯推進引擎)鉤到一個計算,昂貴的服務器

該APE項目聲稱「實時數據流」,但我只是找不到一個很好的例子。我對他們的文檔感到沮喪。

可能WIKIPAGE我在他們的網站上寫着: http://www.ape-project.org/wiki/index.php/Tutorial:How_to_write_an_application_with_APE

但同樣,它只是有一些概念,而不是詳細信息。

做了一些谷歌搜索之後,我開始感到更加沮喪。 我的目的沒有寶貴的教程或例子

所以我在這裏發佈這個。

基本上,我一直想要做的是,HTTP流媒體服務器(非常昂貴的計算)仍然可以很好地擴展(100或200客戶端)。要求:

  1. 使用HTTP協議(無RTMP);
  2. 客戶端將音頻數據流傳輸到服務器;
  3. 服務器接收音頻數據並對其進行處理,並將結果發送回客戶端,同時接收來自 客戶端的音頻數據;
  4. 音頻數據的處理在C/C++庫;
  5. 服務器也能夠數秒音頻數據提供給客戶端,並且在接收來自服務器的 音頻數據的客戶機可以播放音頻;
  6. 應該在客戶端和服務器之間建立一個長期的連接/會話,服務器應該檢測到斷開連接(TimeOut或UserDisconnect) ;

我的問題是:

  1. 什麼APE例子和教程我應該讀,以方便我的需要?
  2. 我在哪裏可以找到一個使用APE HTTP Streaming的好例子?
  3. 如何創建一個非常簡單的HTTP流式示例(服務器流)
  4. 我怎樣才能掛鉤我的計算昂貴的C/C++庫在服務器端
  5. 我該如何維護服務器端每個客戶端連接/會話的狀態?

如果有人知道我的要求或問題的任何想法,請讓我知道。

謝謝。

Peter

回答

2

APE用於交換JSON數據 - 不是流數據。 因此,您必須找到一個解決方案,您的標準Web服務器(運行您的lib)接收並解析數據。 你可以用APE做什麼,這就是所謂的「內聯推動」。這意味着將數據從後端服務器發送到APE服務器,以便將數據轉發給客戶端。

就你而言,我會經常讓解析庫發送狀態更新到APE服務器,以便它可以分發給客戶端。

關於你的問題:

  1. http://www.ape-project.org/wiki/index.php/Libape-controller
  2. 無處 - 這並不意味着對於
  3. 與您所選擇的anothother服務器端編程語言
  4. 顯然,取決於你的Apache/Nginx的和服務器語言
  5. 這就是APE可以做的事情 - 如果你在服務器端進行所需的編程。你已經在我的博客上發表了評論,所以你可能已經看過http://www.xosofox.de/2010/10/ape-user-handling/ - 這應該會給你一些提示。

TL;博士

  • 使用另一臺服務器作爲後端的LIB
  • 有LIB服務器通過行內推發送短狀態更新APE所以APE將它推到 客戶端
+0

嗨Xosofox,謝謝你的回覆。我對流媒體有點困惑。在APE的網站上,它表示:「APE是爲Ajax Push設計的全功能OpenSource解決方案。它包括一個彗星服務器和一個Javascript框架。 APE允許實現任何類型的實時數據流到Web瀏覽器,而不必在客戶端安裝任何東西。「 - 它說」實時數據流「。我誤解了嗎? – 2012-01-08 01:17:28

+0

我認爲他們使用「流」這個詞有誤導性。至少據我所知,你不能用它來傳輸音頻...... 但是,這可能是可能的,但你必須在C源代碼中找到答案或與開發者取得聯繫 – Xosofox 2012-08-16 11:23:00

相關問題