Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GCM连接服务器如何向Android设备发送消息?_Android_Push Notification_Google Cloud Messaging_Protocols - Fatal编程技术网

GCM连接服务器如何向Android设备发送消息?

GCM连接服务器如何向Android设备发送消息?,android,push-notification,google-cloud-messaging,protocols,Android,Push Notification,Google Cloud Messaging,Protocols,我在读关于谷歌云消息(GCM)的文章。GCM连接服务器接收到的推送通知被发送到启用GCM的Android设备。我假设它在内部使用设备Id(然后使用ARP协议从MAC解析为IP)来发送推送通知。GCM内部使用哪种协议发送通知?如果是TCP/IP,那么它如何解析设备的IP(鉴于用户切换wifi网络和手机数据,这不是唯一的) 有人能帮我理解GCM与客户之间的通信吗? GCM通过Google Play服务工作(没有Google Play服务就没有GCM) 设备通过端口5228上的TCP连接到Google

我在读关于谷歌云消息(GCM)的文章。GCM连接服务器接收到的推送通知被发送到启用GCM的Android设备。我假设它在内部使用设备Id(然后使用ARP协议从MAC解析为IP)来发送推送通知。GCM内部使用哪种协议发送通知?如果是TCP/IP,那么它如何解析设备的IP(鉴于用户切换wifi网络和手机数据,这不是唯一的)

有人能帮我理解GCM与客户之间的通信吗?

  • GCM通过Google Play服务工作(没有Google Play服务就没有GCM)
  • 设备通过端口5228上的TCP连接到Google Play服务(443作为备用)
  • 该设备在移动设备上每28分钟和在wifi上每15分钟向Google Play Services发送一次心跳数据包
  • 如果设备网络状态发生变化,设备必须重新建立与Google Play Services的TCP连接,这将导致
  • 您可以检查连接状态、心跳间隔、连接地址和端口等。在设备上拨号
    *.*.\426*.*.

您可以在中找到更多信息。

您的设备通过Google Play Services连接到Google。。简而言之,建议现在使用端口5228-5230。