2013-10-19 52 views
0

我正在構建一個Android應用程序,我想在其中顯示一些實時數據(每秒更新一次),我想直接從我的服務器流到應用程序。將同時連接多個應用程序,這些應用程序都應該獲得相同的流。我現在正在尋找一種從服務器和客戶端/ Android端執行此操作的方法。從服務器端我可以基本上構建任何東西,所以我想我會從客戶端開始。如何將實時數據(數字)流式傳輸到Android應用程序?

在Android文檔中,我找到了inputStream class,我猜這是我需要的。所以我的第一個問題:是inputStream類的工作的正確工具?

如果是這樣,我想我可以設置它(在網上找到一些例子),但從這裏我仍然不確定如何從服務器端構建這項服務?我是否需要構建一個我經常更新的簡單頁面,還是應該使用消息庫(例如zeromq)進行多播?任何有關服務器端技術的更多提示/提示/指針都將非常受歡迎!

回答

1

這取決於您的數據。例如,如果您需要讓客戶更新某些值(例如位置中的天氣數據),則簡單的輪詢機制就足夠了。您將不得不建立一個顯示當前值的網頁,並且客戶端必須在所需的時間間隔內保持輪詢和解析頁面。另一方面,如果你有一串二進制數據需要傳輸到客戶端,那麼你需要做一些套接字編程。像this這樣的大量樣本可以幫助您入門。另外請記住,要使用服務器維護套接字,您必須將它們作爲服務保持在後臺運行。

+0

信息每秒至少更新一次,所以我猜投票是不可能的。出於這個原因,我已經儘管我需要使用套接字來做一些事情。我對zeromq有一些經驗,這使得使用套接字非常容易。你認爲使用zeromq這樣的消息庫是個好主意嗎? – hubbtwea

+0

[this](http://zeromq.org/build:android)鏈接建議使用JeroMQ代替zeromq供Android使用。看來這個庫使用了很多原生的JNI東西。我沒有使用zeromq編寫很多代碼,但是您的方案似乎可以通過Java的現成套接字編程庫得到很好的處理。 – navit

相關問題