【发布时间】:2015-02-08 07:48:10
【问题描述】:
我正在开发一个将实现聊天功能的项目。我正在使用 GCM 发送消息并且工作正常。但我想像 Facebook 聊天一样发送图像。在搜索谷歌后,我发现我们可以通过将图像编码为 base64 字符串来发送图像。但是 gcm 的消息大小高达 4kb,所以我不能发送这样的图像。在这里,我需要将图像上传到服务器,然后需要向用户发送一个链接并从该链接中获取图像。但我认为这将是一个缓慢的过程。我能知道什么?
我正在使用 gcm 从我的设备直接向其他人发送消息。请帮我。我已经找到了 AirBop。但是有没有其他解决方案来发送图像?
【问题讨论】:
-
首先,我不认为上传到服务器会是一个缓慢的过程。另一方面,你还有什么可以做的吗?也许您可以在设备之间打开 p2p 连接,但我怀疑这会更慢。
-
但是如果多个用户同时发送图像,我的服务器将面临压力,而且我的服务器会占用大量内存。这就是为什么我不想在那种情况下使用服务器。
-
不,如果IO处理得当,不一定会消耗大量内存。您应该在上传时将图像直接写入磁盘。完成后,您可以向客户端发送消息,他们可以下载图像。如果这一切都是异步完成的(例如,像 Node.js 那样),效率会更高。