我目前正在计划一个 Android-instant-messenger/ realtime-chat,但我不太确定我应该使用低级(例如TCP)还是高级协议(例如XMPP)。
非常感谢。
仅使用 TCP,您将获得一个空的、裸露的网络连接,您将不得不在其上传输数据。前面有很多工作。
使用 XMPP,您拥有可以依赖的完整协议(连接、数据格式、工作流程)。您还可以从现成的、成熟的软件实现(例如用于服务器端的MongooseIM和Tigase)以及客户端库(例如iOS上的XMPPframework和Android上的Smack )中受益。
您还可以使用 AMQP 或 MQTT 协议,或某种与移动推送通知(APNS 和/或 GCM)相结合的 REST API。