我正在尝试创建一个聊天应用程序。该通信基于RESTful Web服务(泽西岛)。客户端与发送HTTP请求的服务器进行通信。我的问题是如何在没有客户端先发送请求的情况下将消息从服务器发送到客户端。我读了关于C2DM通知,我想用这种方式,当客户端从服务器接收到通知时(客户端)必须发送一个请求到服务器以接收数据。我也在考虑使用套接字,但我不知道是否可以使用Rest。我的意思是在服务器端,我还可以使用REST代码使用套接字(套接字在较低级别运行)吗?我使用套接字的唯一方法是使用套接字创建另一台服务器(两台服务器为RESTful和套接字),但这是一个很好的解决方案吗?我也可以把一些服务器代码放在客户端和一些客户端代码在服务器端。它会是正确和有效的吗?你怎么看?哪种解决方案最好?客户端(android)从服务器接收消息(java)
1
A
回答
1
您描述的场景听起来对C2DM来说非常理想。如果你建立自己的套接字设置,你将耗尽电池和CPU资源来完成手机已经在做的事情 - 维护一个开放的套接字来接收消息。
C2DM设置起来相对比较简单,而且根据我的经验相当可靠。
这是我看到的是最好的教程:
http://www.vogella.de/articles/AndroidCloudToDeviceMessaging/article.html
但你也需要阅读官方文档:
http://code.google.com/android/c2dm/
您的服务器端代码需要向C2DM服务器发送HTTP请求以向设备发送消息。要告诉它在哪里发送消息,您的服务器需要指定注册ID(代表您在一个特定设备上运行的应用),因此当您的应用在Android设备上设置时,它会向C2DM注册,然后需要发送其C2DM注册ID将被存储到您的服务器上,准备用于发送消息。
5
C2DM已于2012年6月26日由谷歌正式弃用。我们鼓励现有的C2DM开发人员迁移到称为Google Cloud Messaging for Android(GCM)的新版C2DM。
看看这个链接获取更多信息
相关问题
- 1. C服务器没有收到Java/Android客户端消息
- 2. Java多客户端服务器不接收来自客户端的消息?
- 3. 消息,从服务器的客户端
- 4. Java TCP客户端和C#服务器;客户端只接收服务器关闭后的消息
- 5. Java TCP客户端不接收从C#服务器发送的消息
- 6. Java客户端套接字:无法接收从服务器到客户端的消息
- 7. 服务器似乎没有收到客户端消息ANDROID
- 8. 服务器在客户端断开连接后收到消息
- 9. socket.io客户端不接收来自服务器的消息
- 10. TCP客户端不接收服务器的消息
- 11. 服务器无法接收来自客户端的消息
- 12. Android客户端/ Java服务器通信,无法从服务器接收数据
- 13. nsqjs客户端,不从go-nsq服务器端立即接收消息
- 14. C#TCP客户端发送消息,但服务器未接收到该消息
- 15. Java服务器无法发送消息到Android客户端
- 16. Android客户端只向java服务器发送一条消息
- 17. 客户端 - 服务器消息交换 - Java中的套接字
- 18. 未从服务器接收Android套接字客户端
- 19. 套接字服务器 - 发送消息从客户端到客户端
- 20. 为什么客户端无法接收来自服务器的消息(java)
- 21. Java TCP服务器无法接收来自多个客户端的消息
- 22. 客户端无法从服务器接收信息
- 23. Android的TCP客户端。服务器在进程停止后才接收消息
- 24. 从客户端发送到服务器的Java消息
- 25. 将消息从C++服务器发送到java客户端
- 26. 从服务器发送消息给客户端的Java
- 27. Java ActiveMQ:如何发送消息从客户端到服务器
- 28. Java-udp编程 - 从服务器发送消息到客户端
- 29. 客户端服务器消息加密
- 30. 服务器客户端消息验证
@奥利:ü可以上传你已经为C2DM创建,因为我不能够在我的Android应用程序来实现的示范项目。我需要使用PHP服务器。这是非常紧急的。正因为如此,我不能完成我目前的[email protected]如果你可以给我发邮件,那将是有益的。谢谢你的帮助.... – Sumant