加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex:Openfire之SparkWeb开发环境搭建历程分享

发布时间:2020-12-15 01:41:12 所属栏目:百科 来源:网络整理
导读:??????春节后因项目需要,研究了把XMPP/Openfire,此前曾玩过spark,基于JAVA写的客户端,总觉得用Swing做的界面比较丑,作为IM客户端运行效率也不行(做个ERP,深有感触)。无意间发现Openfire客户端还有一个基于Flex的实现,那就是SparkWeb,太棒了,正好

??????春节后因项目需要,研究了把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

?

?

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读