嗨这只是为了知识.我将尽可能多地解释我的问题是什么.
通常我每隔一段时间就调用一次异步服务,例如服务器部分的更新一旦发生变化就不会反映出来.例如,whatsapp几乎立即反映了更新.例如,当用户键入时,它向另一个用户显示他正在键入.
简而言之,他们使用什么协议以及如何使用它.
谢谢.
最佳答案
What protocols do they use?
Whats app,G-talk,facebook等应用程序使用XMPP协议进行IM服务.
什么是XMPP?
The Extensible Messaging and Presence Protocol (XMPP) is an open
technology for real-time communication, using the Extensible Markup
Language (XML) as the base format for exchanging information. In
essence, XMPP provides a way to send small pieces of XML from one
entity to another in close to real time
根据最新版本的specifications XMPP提供以下服务
- Channel encryption [RFC3920]
- Authentication [RFC3920]
- Presence [RFC3921]
- Contact lists [RFC3921]
- One-to-one messaging [RFC3920]
- Multi-party messaging [XEP-0045]
- Notifications [XEP-0060]
- Service discovery [XEP-0030]
- Capabilities advertisement [XEP-0115]
- Structured data forms [XEP-0004]
- Workflow management [XEP-0050]
- Peer-to-peer media sessions [XEP-0166]
这是XMPP中提供的核心服务
以下是一些可以使用XMPP的应用程序
- Instant messaging
- Groupchat
- Gaming
- Systems control
- Geolocation
- Middleware and cloud computing
- Data syndication
- Voice over IP (VoIP)
- Identity services
像HTTP XMPP也需要服务器 – 客户端实现
以下是一些流行的XMPP服务器
- Ejabberd
- Openfire
- Prosody
- Tigase
您可以在此link上找到有关xmpp服务器的更多信息
不同的平台有不同的XMPP客户端库,您可以在这个link上获得更多信息
如果你想为Android实现XMPP客户端那么你可以使用Smack 4.1,它是一个用java编写的开源XMPP客户端库.
我试图在这里列出XMPP的基本功能,但是如果你开始使用xmpp,那么就有很多东西需要学习,可以随意询问有关XMPP的任何疑问我会尽力而为.
谢谢
Note::
for the user who are still using aSmack should Upgrade to Smack 4.1 as aSmack has been deprecated!!