我想要为安卓创建一个聊天应用,想知道最佳实现方式。 第一种选项是在手机和服务器之间使用socket连接,这样服务器就可以向手机发送任何新消息。 第二种选项是使用C2DM。 像Whatsapp这样的聊天应用是使用socket还是C2DM实现的? 除了以上两种方式,是否有更好的创建此类应用程序的方法? 谢谢。
C2DM(现在称为GCM)不适合构建聊天应用程序。当应用程序在前台时,与服务器创建套接字连接,在后台使用GCM进行推送通知。您将需要托管自己的服务器,但我建议不要重复发明轮子,并使用类似Applozic(https://www.applozic.com)聊天sdk,它将在一小时内为您提供类似于WhatsApp的特性和更多功能。
asmack和OpenFire是最简单的方法。不需要重新发明轮子。 但如果您确实想要RTW,那么在应用程序处于前台时打开套接字,并在其不在时使用C2DM。顺便说一句,C2DM很难处理,因此考虑使用像Urban Airship这样的服务。