2015-02-08 10 views
0

我正在研究一個將實現聊天功能的項目。我正在使用GCM發送消息並正常工作。但我想發送圖像就像Facebook聊天。搜索谷歌後,我發現我們可以通過將圖像編碼爲base64字符串來發送圖像。但gcm的消息大小高達4kb,因此我無法發送像這樣的圖像。在這裏,我需要將圖像上傳到服務器,然後需要向用戶發送鏈接並從該鏈接獲取圖像。但我認爲這將是一個緩慢的過程。我能知道什麼?如何在Android中使用gcm發送圖像?

我使用gcm從我的設備直接發送消息給其他人。請幫幫我。我已經找到了AirBop。但有沒有其他解決方案發送圖像?

+0

首先,我不認爲上傳到服務器會是一個緩慢的過程。另一方面,你還有什麼可以做的嗎?也許你可以在設備之間打開一個p2p連接,但我懷疑這會更慢。 – 2015-02-08 08:00:24

+0

但是如果多個用戶一次發送圖像,我的服務器將面臨壓力,同時在我的服務器上會花費大量內存。這就是爲什麼我不想在這種情況下使用服務器。 – Asif 2015-02-08 08:29:45

+0

不,如果IO處理正確,它不一定會消耗大量內存。上傳時應將圖像直接寫入磁盤。完成後,您可以向客戶端發送消息,他們可以下載圖像。如果你全部是異步的(例如Node.js),它將會更加高效。 – 2015-02-09 08:15:26

回答

0

你必須上傳沒有GCM的圖像,在你的服務器上你必須有從你的設備讀取文件的應用程序(通過Socket),並返回保存的圖像的URL,然後設備發送一個鏈接通過gcm (作爲文本)合作伙伴獲取鏈接並下載圖像。

相關問題