嗨这只是为了知识。我将尽可能多地解释我的问题是什么。 通常我每隔一段时间就调用一次异步服务,例如服务器部分的更新一旦发生变化就不会反映出来。例如,whatsapp几乎立即反映了更新。例如,当用户键入时,它向另一个用户显示他正在键入。 简而言之,他们使用什么协议以及如何使用它。
谢谢。答案 0 :(得分:1)
您可以实施Google Cloud Messaging(GCM)服务,如GCM网站所述:
适用于Android的Google Cloud Messaging(GCM)是一项允许您使用的服务 将数据从您的服务器发送到用户的Android设备, 并且还要从同一连接上的设备接收消息......
通过这种方式,您可以从一个客户端通知状态更改,然后后端将propper消息发送到所需的客户端,最后这些客户端应用程序更新状态。
答案 1 :(得分:1)
他们使用什么协议?
应用程序,如Whats app,G-talk,facebook等,他们使用XMPP协议进行IM服务。
什么是XMPP?
可扩展消息传递和在线协议(XMPP)是开放式的 使用可扩展标记进行实时通信的技术 语言(XML)作为交换信息的基本格式。在 本质上,XMPP提供了一种从一个XML发送小块XML的方法 实体到另一个接近实时
根据specifications的最新版本,XMPP提供以下服务
- 频道加密[RFC3920]
- 身份验证[RFC3920]
- Presence [RFC3921]
- 联系人列表[RFC3921]
- 一对一消息传递[RFC3920]
- 多方消息传递[XEP-0045]
- 通知[XEP-0060]
- 服务发现[XEP-0030]
- 能力广告[XEP-0115]
- 结构化数据表格[XEP-0004]
- 工作流程管理[XEP-0050]
- 点对点媒体会话[XEP-0166]
这是XMPP中可用的核心服务
以下是可以使用XMPP的一些应用程序
- 即时消息
- GROUPCHAT
- 游戏
- 系统控制
- 地理位置
- 中间件和云计算
- 数据联合
- IP语音(VoIP)
- 身份服务
与HTTP一样,XMPP也需要服务器 - 客户端实现
以下是一些流行的XMPP服务器
- Ejabberd
- 的Openfire
- 韵律
- Tigase
您可以在link
上找到有关xmpp服务器的更多信息不同平台拥有不同的XMPP客户端库,您可以获得有关此link
的更多信息如果你想为Android实现XMPP客户端,那么你可以使用Smack 4.1,它是用java编写的开源XMPP客户端库。
我试图在这里列出XMPP的基本功能,但是如果你开始使用xmpp,那么有些东西需要学习,可以对XMPP提出任何疑问,我会尽力而为。
谢谢
注:: 对于仍在使用aSmack的用户,应该升级为Smack 4.1,因为aSmack已被弃用!!