前些时间一直在研究聊天系统,在网上搜了一下,发现了一个不错的开源jabber服务器Openfire。幸运的是这个站点的子项目中有个xmpp actionscript实现 XIFF,真的是踏遍铁鞋无觅处得来全不费功夫,一个站点就包含了我所需要的所有工具:XIFF, Openfire, Smark(一个xmpp java实现),Spark(一个jabber客户端java实现,可以登录gtalk)。
Openfire 配置起来非常容易,它的管理系统对中文支持的很好,操作起来非常直观。而且它还支持自定义插件(我也简单的试了一下,很容易上手),好像还有个red5的插件不过Openfire要装在Windows上才能用。
XIFF 的as2版本相对比较成熟、bug较少,有个外国人对它进行了修改和补充,他在sourcefroge 建了个项目叫“xiffan”我前面找了一下找不到了,不过我共享了一个我本地的拷贝。现在as3用的人都非常多了XIFF 项目也在升级,不过as3版本的始终没有release,但是可以从svn下载到最新的代码,需要对它的代码进行一些很小的改动才能跑起来(不知道现在最新的版本需不需要改了)。
我在用xiff做这个聊天室过程中遇到些问题:
在昵称冲突的情况下,Openfire 没有任何的反映,但是XIFF 代码里有针对昵称冲突的事件,不知道是不是Openfire 的问题。还有个问题就是这个聊天室不处在活动的状态下,Openfire 会自动踢掉在聊天室内的所有成员,不知道有没有办法可以使它不自动踢人。。。-_-!

以后有空的话我会再研究一下 Smark 试试看做个gmail机器人什么的:)
p.s. adobe的Daniel Dura也写了个xmpp actionscript3的实现as3xmpp,不过比较底层,如果要使用的话要自己写一些处理协议的逻辑,我曾经问过他什么时候会有高层次的实现,他表示会在一个月内完成,不过到现在svn上还是没动静。。。