我可以通过GCM发送大数据吗?

3

我的团队正在开发Android应用程序。

我们想要通过GCM向客户端发送一些文件。

我知道GCM可以发送4kb的有效负载,并且可以一次发送1000条消息。

那么,我们能否一次发送4MB数据的文件呢?

请帮助我们!

2个回答

5
我建议将文件上传到其他地方,并在GCM消息的内容中放入指向该文件的URL,以便接收者从URL下载。
发送内容超过4KB的消息无法被发送。此外,它们也可能会以乱序接收。

2
我认为您不想使用GCM来实现这个。除非文件大小小于4kb,否则最好寻找一种更好的方式将文件发送给客户端,而不是将其分块在GCM消息中。有几个原因。
1)GCM的目的是小负载,例如通知或小数据包。它不适用于大型消息,只适用于小型传输。
2)GCM不保证交付。如果您想将文件分块成这些消息并发送它们,那么由于没有消息传递的保证,就有可能在传输过程中丢失其中一个消息,就像UDP一样。因此,一个丢失的消息就会破坏您的文件。

你知道我有多开心吗?你的回答就是我想要的!非常感谢你的帮助! - ssunghunkr
@ssunghunk,我很高兴这个答案有所帮助!如果它解决了你的问题,请记得接受正确的答案。=] - AlienHoboken
根据我的最近经验,GCM非常可靠...也许自从这个答案发布以来的3年里,Google已经提高了其可靠性。例如,您可以设置自动阅读回执,一旦设备接收到消息,就会将其发送回服务器。您还可以为每条消息设置生存时间(TTL)(例如24小时),在此期间,GCM将继续尝试将消息传递到设备。例如,我正在考虑对大小为20kb的消息进行分块,并使用GCM。超过5个块的任何内容,我认为都不是理想的用例。 - dodgy_coder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接