Flex:Openfire之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 ? ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |