2013-02-27 58 views
3

我想創建一個基於論壇的羣聊應用android.I需要能夠通過聊天畫和發送語音消息。選擇正確的聊天協議實施

我很困惑IRC和XMPP之間的聊天協議使用。有人請在這方面給我建議。

我覺得IRC更適合我的應用程序,因爲它主要是爲討論論壇上的羣組通信而設計的,但我不確定IRC是否支持除文本消息之外的其他任何內容。

+0

不確定這與XMPP中的聊天室有什麼不同。其中還支持各種語音和其他二進制數據傳輸。 – Robin 2013-02-27 16:11:50

回答

2

您可以使用編碼系統以純文本形式發送任何類型的二進制數據(圖像,聲音等),例如Base64。

您必須注意選擇的編碼字符域不會與您的協議方法相沖突以分隔消息。其他常見問題是消息協議允許的大小。也許你需要在協議中實現某種類型的分塊消息,以及一些描述二進制內容的MIME。

Here您可以找到常見B2T編碼標準的列表。

對於「實時」繪製,最簡單的解決方案是將快照圖像發送到客戶端,並在抽屜客戶端中繪製當前圖像。如果你每秒鐘做10次,你會得到每秒10幀的繪圖動畫。爲了優化,有一種稱爲Delta Encodig的技術,有時稱爲Delta壓縮。是以連續數據(在本例中爲圖像)之間的差異形式存儲或傳輸數據的一種方式,而不是完整的文件。因此,在客戶端,您只能回顧兩個「框架」之間的差異,您需要在客戶端執行的唯一一件事就是將當前「框架」與合併「差異」以顯示下一個「框架」。