我有一个运行GCM客户端应用程序两款Android设备。 我得到两个设备的注册编号。 我也有一个服务器API密钥。 现在的问题是,使用使用卷曲或Zend Framework的一个简单的PHP代码,我能够从Web服务器发送消息给我的机器人(当然我可以播放过)之一。 但是,这种在手,有没有办法从一个设备发送到另一个字符串?
Answer 1:
从我引用我的书 :
你可能会使用GCM的对等网络通讯,而无需你自己的服务器。 实际上,每个Android应用程序是它自己的服务器,使用你可能会在Web应用程序中使用您的Android应用中发送消息给其他方相同的JAR。 例如,你可以实现一个聊天系统,而无需专门的聊天服务器。
这里的危险在于,这需要你的API密钥被嵌入在Android应用程序中。 任何与API密钥是完全能够从你伪造的消息。 你可以放置在该API密钥的IP地址限制是不太可能的帮助,因为你的合法用途可能来自任何IP地址,而不只是一些单个服务器。 由于APK文件中找到字符串魔不为那些通过倾斜难,把你的API密钥在您的APK文件是一个危险的举动。
因此,你会想一些自己的服务器作为中间人。
Answer 2:
有一两件事你可以做的是做一个POST请求与消息和其他Android设备的注册ID,您的Web服务器,但是这将是一个有点麻烦,你不得不想出一个办法来获取注册码从Web服务器的其他Android设备。
我会建议寻找到XMPP作为该协议已经从地上爬起来,成为一个广泛的消息传递协议。 我敢肯定你会发现好XMPP服务器框架来实现你的功能。
文章来源: Can gcm be used to send and receive messages between android devices?