GCM的可靠性取决于具体的网络吗?

时间:2015-07-14 10:13:26

标签: android google-cloud-messaging

我一直在使用Google Cloud Messaging一段时间了。它连接到我们的Office wifi路由器时运行良好,接收每条消息都没有问题。当我将其切换到移动数据或其他WiFi网络时,它无法正常工作并停止接收消息。一段时间后,当我再次连接到我们的Office路由器时,所有消息都会一个接一个地出现。

服务器每分钟都在发送邮件,因此不存在服务器不活动的可能性。 GCM只能在特定的理想条件下工作吗?

修改   当我将其切换到移动数据或其他wifi网络时,它无法正常工作,即GCM工作一段时间后再停止接收消息。

1 个答案:

答案 0 :(得分:1)

从以下部分的说明中https://developers.google.com/cloud-messaging/http#message-with-payload--data-message

  

注意:如果您的组织有防火墙限制流量   进出Internet,您需要将其配置为允许   与GCM连接,以便您的GCM客户端应用程序可以接收   消息。要打开的端口是:5228,5229和5230.通常是GCM   仅使用5228,但它有时使用5229和5230. GCM没有   提供特定的IP,因此您应该允许防火墙接受   到IP块中包含的所有IP地址的传出连接   在谷歌的ASN 15169中列出。

此外,根据https://stackoverflow.com/a/23784874/313113,连接将回退到端口443,但似乎只适用于某些Android版本:

  

我不确切知道Android版本引入了哪个端口443   后备,但它介于4.1.2(不工作)和4.3之间   (工作)。