请问Android推送以及聊天软件的实现方法(XMPP\Http\Socket)


我知道Android推送大多使用XMPP,但是为什么要用XMPP呢?貌似Socket也能实现推送效果吧。
聊天软件例如微信他们的通讯方式是什么?XMPP?HTTP?还是Socket?

希望有人能解答一下问题,最好帮我比较一下XMPP、HTTP和Socket的优劣,以及在什么情况下用它们其中的哪一种方法。

Android 网络编程

SKYline 12 years, 6 months ago

XMPP 是一个上层业务协议,Socket 是网络连接实现里的一个技术点,HTTP 是一个底层协议。
三者可比性不大。

XMPP 与 HTTP 倒是有些类似。
具体建议 Google 多了解下。

XMPP 是当前通用的 IM (即时通讯)协议。现在主流的聊天系统,都是基于 XMPP 构建的。

因为 Android 推送实际上与 IM 场景类似,所以有人基于 XMPP 来做推送功能,比如 AndroidPN。
但是,由于 XMPP 是通用的 IM协议,没有为移动设备场景考虑,所以不是非常合适的。这里有篇文章,建议参考: http://blog.jpush.cn/android_push_ope...

Ke answered 12 years, 6 months ago

Your Answer