我一直在阅读 GCM 开发人员页面,但似乎都不太复杂。但是,从概述的角度来看,我对自己想要什么感到困惑。我在一台设备上有一个应用程序,它会将一些信息发送到另一台 Android 设备,然后它会处理这些信息。这只是一对双打。
除了简单的网站/路由器之外,我从来没有做过很多网络通信的经验,所以我意识到这是一个非常缺乏经验的问题——但是当我在我的两台设备上设置 GCM 时,什么设备充当“服务器”哪个是“客户”?客户端和谷歌都是服务器吗?
谢谢你的帮助。
我一直在阅读 GCM 开发人员页面,但似乎都不太复杂。但是,从概述的角度来看,我对自己想要什么感到困惑。我在一台设备上有一个应用程序,它会将一些信息发送到另一台 Android 设备,然后它会处理这些信息。这只是一对双打。
除了简单的网站/路由器之外,我从来没有做过很多网络通信的经验,所以我意识到这是一个非常缺乏经验的问题——但是当我在我的两台设备上设置 GCM 时,什么设备充当“服务器”哪个是“客户”?客户端和谷歌都是服务器吗?
谢谢你的帮助。
我想你想进行双向沟通。你可以做一个认为将手机的RegistrationID保存到服务器上。无论您想传达什么数据,您都应该首先将其保存到服务器。并且每当服务器发送通知时,它都会使用注册 ID 向特定客户端提供信息。
两种 android 设备都被视为客户端。客户端将与可以以多种方式实现的后端服务器通信。Google 提供的示例使用为 Java App Engine 编写的标准 Web 应用程序。您可以在此处找到示例:
您还可以使用 ASP.NET、PHP 等编写服务器。我通常在后端拥有的也是一个 SQL 数据库,用于管理在我的应用程序中注册的设备。每个设备(客户端)都从 Google 获得一个唯一的 ID,服务器将使用该 ID 进行通信。服务器使用此 ID 是因为它将发送的消息不是直接发送给客户端,而是发送给 GCM 服务。因此,从本质上讲,Google GCM 是后端服务器的服务器,后端服务器是 GCM 的客户端。
希望这能回答您有关客户端/服务器通信的问题。详细实现请看谷歌的demo。祝你好运!