「xmpp群组java」xmpp java
本篇文章给大家谈谈xmpp群组java,以及xmpp java对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
如何自己搭建一个xmpp,实现推送消息
主要有三种方式:
1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等。
2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。
3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的特点是将复杂性从客户端转移到了服务器端。
接下来说说XMPP在android客户端上的应用。分两部分:服务端搭建和客户端实现。
服务端搭建:
如果想测试一下功能,直接用搭建好的服务就行,下载androidpn-server-0.5.0-bin.zip 。
点击bin目录下得run.bat,直接搭好服务,在浏览器上输入 就进入管理界面。如下图:
客户端实现:
下载工程源码 androidpn-client-0.5.0.zip (347.74 KB, 下载次数: 25185) ,导入工程,运行前更改一处IP地址,修改androidpn.properties文件中的xmppHost为xmppHost=10.0.2.2
原因:模拟器访问本机需要改成10.0.2.2,下图为SDK中说明。
从服务端发送消息,客户端运行的界面:
openfire原理
openfire原理是基于XMPP(又称为Jabber)协议。根据查询相关公开资料显示:使用Java编写而成,并且提供了许多扩展功能,如用户管理、聊天室管理、群组管理等。
java服务器推送消息给android
几种常见的解决方案实现原理
1)轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。
2)SMS(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。
3)持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
3、消息推送解决方案概述
A、C2DM云端推送方案
在Android手机平台上,Google提供了C2DM(Cloudto Device Messaging)服务。Android
Cloud to Device Messaging (C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。
该方案存在的主要问题是C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用。
B、MQTT协议实现Android推送
采用MQTT协议实现Android推送功能也是一种解决方案。MQTT是一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推送服务器的理想解决方案。
wmqtt.jar
是IBM提供的MQTT协议的实现。我们可以从这里()下载该项目的实例代码,并且可以找到一个采用PHP书写的服务器端实现()。
C、RSMB实现推送功能
Really Small Message Broker (RSMB)
,是一个简单的MQTT代理,同样由IBM提供,其查看地址是:。缺省打开1883端口,应用程序当中,它负责接收来自服务器的消息并将其转发给指定的移动设备。SAM是一个针对MQTT写的PHP库。我们可以从这个地址下载它.
D、XMPP协议实现Android推送
Google官方的C2DM服务器底层也是采用XMPP协议进行的封装。XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。
androidpn是一个基于XMPP协议的java开源Android push notification实现。它包含了完整的客户端和服务器端。但也存在一些不足之处:
1)
比如时间过长时,就再也收不到推送的信息了。
2)性能上也不够稳定。
3)如果将消息从服务器上推送出去,就不再管理了,不管消息是否成功到达客户端手机上。
如果我们要使用androidpn,则还需要做大量的工作,需要理解XMPP协议、理解Androidpn的实现机制,需要调试内部存在的BUG。
java xmpp传输文件
后面添加的是一个侦听器。
侦听器只有当其“侦听的事件”发生时才会呗触发。
对你的代码来说,是当有“文件传输事件”发生时,才会执行侦听器(也就是中间那一段)代码。
xmpp群组java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于xmpp java、xmpp群组java的信息别忘了在本站进行查找喔。