技术笔记:XMPP之openfire+spark+smack】的更多相关文章

在即时通信这个领域目前只找到一个XMPP协议,在其协议基础上还是有许多成熟的产品,而且是开源的.所以还是想在这个领域多多了解一下. XMPP协议:具体的概念我就不写了,毕竟这东西网上到处是.简单的说就是基于XML的一种协议.其解决了什么问题呢?就是给即时通讯制定了标准,大家只要遵守标准就可以完成即时通信的功能.有了标准的好处就是可以有各种不同的实现,大家在这个标准上发展自己的特长.而且还给即时通信提供了互联互通的基础.XMPP协议据网上说还是比较优秀的,表现就是google等大公司都在自己的即时…
近公司项目需要用到即时通讯功能,经过调研发现openfire+spark+smack可以实现.在网上找了很久,资料都十分有限,即使有些朋友实现了也说的不清不楚.于是决定自己研究,耗时一周的时间实现了文字通讯和文件传输的功能.现发帖分享给有需要的朋友,也希望大家能够把自己的资料都分享出来,不要敝扫自珍. 废话说够了,现在开始上干货: 1.openfire是什么?openfire是一个即时通讯服务器,也称之为即时通讯平台.它是基于XMPP协议的,大家所熟悉的通讯软件QQ.MSN和Gtalk等等,其中…
所以我基本上分为三篇文章来介绍此类软件的开发: 第一篇是关于XMPP 协议是啥,IM 是啥以及一个比较有名的开源实现,该开源实现包括三个部分(Spark.Smack和Openfire): 第二篇讲如何开发基于Spark 的客户端IM 插件部分: 第三篇讲如何开发基于Openfire 服务器端的插件部分. 好了,进入正题吧. 什么是XMPP? Extensible Messaging and Presence Protocol,简单的来讲,它就是一个发送接收处理消息的协议,但是这个协议发送的消息,…
Android XMPP 例子(Openfire+asmack+spark) 运行出来没问题,但是登陆的时候出现如下错误: 出现错误: 09-17 15:24:16.388: E/AndroidRuntime(19788): java.lang.VerifyError: com/xmpp/client/FormLogin$2 解决办法:把lib目录下的asmack拷贝出来,然后在项目中先把asmack移除掉.重新建个libs文件夹,之后再把asmack的架包放进去.…
配置这个遇到太多问题了,写下来分享 首先到官网下载openfire+spark 下载地址:http://www.igniterealtime.org/downloads/index.jsp…
项目需要简单搭建openfire/spark/asmack的环境及程序demo,本文简单记录以免遗忘. 1.openfire/spark 是java编写的xmpp服务器及PC客户端,安装过程相当简单一直next:需要注意的是openfire中配置的域名,后续会作为客户端接入的地址,可以配置成你的局域网IP. 2.asmack是android下的smack报,即一个XMPP协议栈的客户端版本,记录如下: 应用启动后简历一个xmpp连接 con = new XMPPConnection("192.1…
====================  废话 begin   ============================ 最近老大让我为研发平台增加即时通讯功能.告诉我用comet 在web端实现即时通讯. 最初狂搜集资料.不能让自己方向错了.这是很重要的. 不过还是难免的周折了一番.测试了一个comet4j的聊天小例子.用它前后端开发成本太大.对服务器也太大压力放弃了. 最终决定使用openfire +jsjac.js + JabberHTTPBind 然后实现老大要求的 web 及时通讯功…
使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制... 1.邮件包含TIdText和TIdAttachment时会出现TIdText无法发送的问题 这个问题是因为Indy代码的bug导致的,也很奇怪这种Bug是因为没有经过测试呢?还是测试没有覆盖到? 问题出在SendBody方法上,这个在之前一篇中提到过<技术笔记:Indy控件发送邮件> 当时是解决“发送Html”的问题才使用到了TIdText这个组件,因为基类T…
继上篇文章[微信开发之微电商网站]技术笔记之一,昨日做了日志处理的功能. 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是多种多样的,包括记录程序运行时产生的错误信息.状态信息.调试信息和执行时间信息等.在生产环境中,日志是查找问题来源的重要依据.应用程序运行时的产生的各种信息,都应该通过日志类库来进行记录. 废话不多说了,附上日志类库的源代码:  /** * 日志处理类 * * @since alpha 0.0.1…
让我说说为什么写这个博客,这是因为我在上周末的研究XMPP和OpenFire,从互联网上下载Demo,但跑不起来.它花了很长的时间.它被改造.抬高.篇博文也是希望后边学习XMPP和OpenFire的同学下载后直接执行.少走弯路了.时间就是金钱,不要花费不必要的时间,也希望大家都能有分享精神.,有问题能够发邮件给我(worldandyou@163.com) 关于xmpp和openfire的资料请百度百科一下 下面展示一个聊天程序.所谓万事都要有Helloworld嘛,这个demo能够做为学习xmp…