春节后因项目需要,研究了把XMPP/Openfire,此前曾玩过spark,基于JAVA写的客户端,总觉得用Swing做的界面比较丑,作为IM客户端运行效率也不行(做个ERP,深有感触)。无意间发现Openfire客户端还有一个基于Flex的实现,那就是SparkWeb,太棒了,正好这段时间一直在用Flex写微博客户端,赶紧搭环境吧,这个过程,可真是一波三折,听我慢慢道来。
首先是SparkWeb开源项目与其引用库项目的版本问题,老匹配不上,官网只提供了一个svn库,说明文档少的可怜,唯有自己瞎摸吧,这里说一下,遇到问题,Google真是个好东西,不愧是互联网老大,Google一下,啥都能知道。下面把问题和解决方法列一下,让和我一样的朋友少走些弯路,也省点摸索时间。
1) 各项目的版本问题。要搭建SparkWeb开发环境,需要配置4个项目,SparkWeb,SparkWebCommonComponents,SparkWebCore,XIFF,其中第1个是程序入口,2,3,4是引用的库项目。
第1,2,3个项目使用http://svn.igniterealtime.org/svn/repos/sparkweb/branches/soc08 这个分支的代码,
第4个项目使用http://svn.igniterealtime.org/svn/repos/xiff/branches/summer_of_code_2008 这个分支代码,
特别说明:如果都使用主干代码,程序跑不起来,会报socket异常(呆会把异常粘贴上来)
2) Flex Sdk 版本:需要使用Flex3.5版本,不能使用Flex4.0以上版本,也不能选用4.0版本,勾选兼容3.5模式,否则启动异常;
3) Flex Web应用调试时需要使用IE作为默认浏览器,其他浏览器好像有问题,而修改默认浏览器需要修改注册表,具体请百度搜索如何修改默认浏览器。修改完默认浏览器后,启动调试会提示没找到flashplayer_debug器,按照提示进入Adobe网站下载flashplayer_10_ax_debug.exe,进入安全模式安装(这点很重要,否则安装失败),安装完后可以正常启动调试了。
4) 以上分支的代码需要作些修改,否则取_node时会报空对象引用 (老外写代码也不严谨啊~~)
/XIFF/src/org/jivesoftware/xiff/core/AbstractJID.as
public function get node():String
{
if(_node !=null && _node.length > 0) //这里如果不判断为空,用IP地址登录会报错
return _node;
return null;
}
5) 注销登录的代码没写,从主干代码添加过去。
/**
* Add by winters_huang @Ver0.9.0
*
* */
public static function logout():void
{
// We may want to implement a way to logout without restarting the entire application (especially for SparkAir). SW-73
// All of the managers would deinitialize and unregister their event listeners. Then SparkWeb would show its login dialog.
connectionManager.logout();
}
6) 关于Openfire服务器的系统属性xmpp.domain
由于配置Openfire服务器都是每一个步骤都是默认的,导致后来使用IP地址在SparkWeb访问时报服务器域名与访问地址不一致问题,Google一下发现可以修改Openfire的系统属性(AdminConsole可以修改),将此值改为具体的IP值,如果不用域名,会导致问题(4),修改代码解决;
7)SparkWebCommonComponents 项目的assets 目录下的images用了快捷方式形式,在Windows系统下不好使,需要把http://svn.igniterealtime.org/svn/repos/sparkweb/branches/soc08/assets 的image 目录拷贝过来。
仍然在研究XMPP协议与Openfire,欢迎志同道合的朋友一起讨论,我的微博:http://t.sina.com.cn/51centos
分享到:
相关推荐
【Openfire、Spark和SparkWeb】是一套开源的即时通讯解决方案,主要由Openfire服务器、Spark客户端和SparkWeb网页客户端组成。Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark...
"openfire + spark 开发" 在本文中,我们将讨论基于 Openfire 和 Spark 的 XMPP IM 软件开发。我们将从 XMPP 协议的介绍开始,接着讨论如何使用 Spark 和 Openfire 来实现一个完整的 IM 软件开发。 什么是 XMPP? ...
总的来说,搭建Openfire与Spark环境需要对Eclipse项目管理和Java开发有一定的了解,同时对即时通讯系统的运行机制要有基本的认识。虽然过程可能稍显繁琐,但只要按照上述步骤操作,就能成功建立一个本地即时通讯环境...
标题中的“openfire插件开发环境搭建”是指学习和配置Openfire服务器以开发自定义插件的过程。Openfire是一款开源的即时通讯服务器,基于XMPP(Extensible Messaging and Presence Protocol)协议,允许用户进行实时...
总结,Openfire+Spark+SparkWeb的安装配置涉及到服务器环境搭建、数据库连接、客户端安装和账户管理等多个步骤。通过这个系统,企业可以轻松建立内部通信网络,并扩展到其他流行聊天系统,提升沟通效率。在实际操作...
在搭建基于Openfire、Spark和Smack的IM系统时,首先需要在服务器上安装并配置Openfire,创建用户和群组,设置安全策略。接着,用户可以在桌面端安装Spark客户端,通过输入服务器地址、用户名和密码进行连接。对于...
- **环境搭建**:确保开发环境中安装了Java SDK,并配置好开发环境。 - **导入Smack库**:将Smack库加入到项目的类路径中。 - **编写代码**:使用Smack API进行用户注册、消息发送等功能的开发。 - **监听消息**:...
### OpenFire二次开发环境搭建详解 #### 一、概述 OpenFire是一款开源的企业级即时通讯服务器,基于XMPP协议标准,适用于多种应用场景。对于开发者来说,掌握如何搭建OpenFire的二次开发环境至关重要,这不仅有助...
### Openfire环境搭建知识点 #### 一、Openfire简介与工具准备 - **Openfire**:Openfire是一款基于XMPP协议的开源即时通讯服务器,它提供了丰富的功能支持,包括消息传递、文件传输、多用户聊天等。对于企业内部...
2. openfire: Openfire是一款开源的XMPP服务器软件,它基于Java编写,可以运行在多种操作系统上,包括Windows、Linux和Mac OS。Openfire提供了强大的管理和安全特性,如用户管理、群组管理、聊天记录存储、TLS/SSL...
Sparkweb+Openfire是搭建在线聊天系统的常用组合,它们提供了实时通信的能力,使得用户可以通过Web浏览器进行便捷的即时通讯。本文将深入解析这两个组件及其在实际应用中的工作原理。 首先,Sparkweb是一个基于Java...
SparkWeb是基于Openfire的一个Web客户端,它使用Flex技术构建,为用户提供网页版的即时通讯体验。描述中提到的是Flex 3版本的源码,Flex是一种用于创建富互联网应用程序(RIA)的框架,基于ActionScript和MXML,由...
2. **Spark源代码在Eclipse的部署、编译、运行.mht**:这部分内容将指导开发者如何在Eclipse环境中导入Spark源码,进行编译和运行,便于进行二次开发。 3. **openfire数据库模式指南.mht**:这份文档可能讲解了...
最后,Sparkweb_0_9_0.zip可能是Spark的Web版本,提供了一种通过网页浏览器进行即时通讯的方式,使用户能够在不安装桌面客户端的情况下,也能利用Openfire服务器进行交流。这通常通过WebSockets或其他兼容XMPP的Web...
请注意,为了使Spark客户端能够正常工作,确保你的Java运行环境已经正确配置,并且Spark客户端版本与Openfire服务器兼容。 视频通话功能的实现依赖于网络通信和音视频编解码技术。Openfire和Spark可能利用了如...
"OpenFire+Spark+Smack开发流程" 在本文中,我们将详细介绍OpenFire、Spark和Smack三个组件在XMPP IM开发中的作用,以及如何使用它们来开发一个完整的XMPP IM系统。 首先,让我们了解一下XMPP是什么?Extensible ...
Openfire+Spark+Spark_Web安装配置
《安装配置Openfire 3.8构建Spark及Web Client环境详解》 Openfire是一款开源的即时通讯服务器,基于XMPP(可扩展消息处理现场协议)标准,提供了强大的实时通信功能。Spark是Openfire配套的桌面客户端,而Web ...