• Openfire 和 Spark

    2008-08-19 | Tag:Java openfire spark IM

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://bonfire.blogbus.com/logs/27894180.html

    昨天不小心看到这个开源的项目,觉得挺好玩,就下载一个试试。还不错。

    主页 http://www.igniterealtime.org/
    下载地址 http://www.igniterealtime.org/downloads/index.jsp#spark

    服务器是Openfire。
    网络上的介绍:Openfire(原来的Wildfire)是一个跨平台,采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。

    客户端是Spark。
    网络上的介绍:Spark是一个开源,跨平台IM客户端。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。

    二者都基于Java,所以都得有JRE。官方的下载就发布了包含JRE和不包含JRE的两种版本:其中包含JRE的Openfire3.5.2为20.84MB,包含JRE的Spark2.5.8(offline installation)为27.04MB。客户端还有一个是Web的Flash客户端SparkWeb,跨平台。

    安装比较简单。


    先安装服务器。我机器上有JRE,所以下载的是7.18 MB的zip包,解压后可以按Documentation里的index.html安装。打开\bin下的灯泡图标openfire.exe,点击 Start,即可开启服务,然后Launch Admin即可在浏览器里配置服务。Openfire有自带的数据库,但最好还是在外部数据库比较好,性能强,功能也多。

    其中配置数据库时候得注意编码问题。
    1. 我机器上装的是MySQL,不过我不会使,只好在MySQL Query Brower中使用,新建数据库(database_name替换为自己想用的数据库名词,附带文档中没有 “ CHARACTER SET UTF8”,结果中文字符是问号)
    CREATE   DATABASE   database_name CHARACTER   SET   UTF8;
    然后Refresh一下,File -> New Script Tab新建一个脚本,把\resources\database下的openfire_mysql.sql内容复制到脚本,在右边选择刚刚建立的数据库 database_name,然后 Execute 。数据库就按指定的schema建立好了。
    2. \conf\openfire.xml是openfire的配置文件,将其中JDBC的<serverURL>内加上
    ?useUnicode=true&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8

    文档里有说明
    Note: If the mechanism you use to configure a JDBC URL is XML-based, you will need to use the XML character literal &amp; to separate configuration parameters, as the ampersand is a reserved character for XML.

    然后装好客户端,non-Western languages就不会显示成???。


    客户端支持的功能不少,除了普通IM的聊天,还有Conference Room,BroadcastTask List,Notes,还有一些供选择的Plugins,比如Jingle Client(Allows for Pc to Pc calling),SpellChecker for Spark,Translator Plugin(Translates instant messages between users using Google Translation Service)等等。

    不过Spark.exe这个进程占用的内存也挺多的63,284KB,相比TM.exe是23,784KB。



    引用地址:

    评论

  • 你好,我是對岸Jabber的學習學生,感謝你無私的分享解決方式,完成了我最後搞不定的問題(顯示中文)。我主要是使用了smack實現了一個簡易的Jabber client,且在上方增加了一些plugin,有興趣請來信。
  • 基本看不懂