我是靠谱客的博主 善良小蚂蚁,最近开发中收集的这篇文章主要介绍Java领域的IM解决方案 第二章 安装openfire3.6.4 第三章   安装spark客户 第四章   配置msn网 第六章   使用smack开发即时通信功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第一章       Java领域的IM解决方案

Java领域的即时通信的解决方案可以考虑openfire+spark+smack。当然也有其他的选择。

Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.6.4版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码。

即时通信客户端可使用spark2.5.8,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.6.4+spark2.5.8是最合适的选择。

Smack是即时通信客户端编程库,目前我已测通通过jsp使用smackAPIopenfire注册用户发送消息,并且可以通过监听器获得此用户的应答消息。

通过smackmsn用户和QQ用户,gtalk用户发送消息应该也可以实现,关于向gtalk用户发送消息的例子较多。这个留待以后研究。至少目前可以通过程序向spark发消息了。对于局域网内部应用足以解决系统与用户交互的问题,甚至可以做自动应答机器人。

Spark支持聊天,语音,视频,会议,文件收发,截屏,连接msn等功能。

下图显示了3者关系:

Java领域的IM解决方案

第二章 安装openfire3.6.4

2.1 配置机器的域名

使用openfire需要配置机器的域名。如果局域网内没有安装域服务器,则需要手工为机器配置域名,打开C:WINDOWSsystem32driversetchosts文件,增加一新行:

127.0.0.1                         bzwang.tzsoft.com  (用户根据自己的需要可配置称别的名字,但最好符合带.的域名格式)

其他机器使用域名访问openfire,也需要在C:WINDOWSsystem32driversetchosts中指定bzwang.tzsoft.com对应的ip地址,假设安装openfire的主机IP192.168.1.10,hosts文件中应增加一新行:

192.168.1.10 bzwang.tzsoft.com

通过这种方式指定主机域名,建议安装openfire的机器配置静态ip地址以免ip发生改变。

 

2.2 安装openfire

2.2.1 安装

安装程序为openfire_3_6_4.exe,运行后,语言选择简体中文,见下图:

 

 

后续按照提示安装,最后出现下面的界面:

 

 

 

这时先不要运行openfire,所以不要勾选上面页面的复选框,然后点完成,如果勾选的话,在新出现的窗口中点“stop”停止openfire后续的运行,然会点”quit”退出,因为下面要配置openfire使用的数据库,需要手工将数据库驱动放到openfire的某个目录下,否则openfire不识别数据库驱动的包名。

2.2.2 运行数据库脚本

 

数据库运行脚本在C:Program FilesOpenfireresourcesdatabase目录下,如果用户安装选择的不是C:Program Files目录,可以到安装openfire目录下找到database目录,打开此目录后可看到有多种版本的数据库脚本,假定我们现在要把openfire的数据库安装在sqlserver2005中,则使用openfire_sqlserver.sql脚本,假如已经装好了2005数据库,可在Management Studio中执行数据库脚本,见下图:

 

 

 

执行后,打开数据库,可看到下面创建的数据库表:

 

 

2.2.3 数据库驱动jar

如果使用sqlserver2005,则将sqlserver2005驱动jarsqljdbc.jar复制到C:Program FilesOpenfirelib下,使用openjweb快速开发平台的用户可直接从D:projectapache-tomcat-5.5.27commonlib找到此jar包复制过去,另外此目录还有mysqlmysql-connector-java-3.1.12-bin.jaroracleojdbc14.jar,如果用户不选择sqlserver则复制对应数据库的驱动jar包。

2.2.4 openfire初始化配置

从开始菜单中找到openfire并运行,下面是运行界面:

 

 

 

”Launch Admin”,出现下面的页面,页面连接为http://127.0.0.1:9090/setup/index.jsp

 

 

 

语种选择中文(简体),点”Continue”:(下面的页面如果出现英文,请刷新一下页面或者重新点Launch Admin

 

这个页面的Domain默认为机器名,请改为一开始设置的域名,例如bzwang.tzsoft.com,就是将图中的Domain中的文字换成bzwang.tzsoft.com后,点Continue(继续):

 

 

这个页面中第一个选项,即标准数据库连接,不要选择嵌入的数据库(Embedded Database,嵌入的数据库是hsqldb数据库,生产环境不要选择此选项),然后点继续”:

 

 

这个页面是配置是否使用LDAP,我们现在不配置LDAP,所以选择 Default默认即可,点继续:

 

 

上图是sqlserver2005的配置,jdbc驱动类为: com.microsoft.sqlserver.jdbc.SQLServerDriver

数据库URL为:

jdbc:sqlserver://192.168.1.222:2324;DatabaseName=dms

数据库名和用户名及口令请根据实际环境配置。

 

配置完成后,点继续”:

如果点继续出现错误提示页面,请检查

(1)       数据库表是否按前面的步骤已在数据库中创建

(2)       是否已将对应的数据库jar保复制到openfirelib目录

(3)       检查数据库连接参数,端口,数据库名等属性,可使用dos命令行检查数据库端口是否有效,例如telnet 192.168.1.222 2324

下面是配置LDAP的页面,选择初始设置”(默认选项)即可。

 

 

点“继续”:

下面是配置超级管理员的页面:

 

 

 

输入一个邮箱和口令,例如123456

 

设置好后点“继续”:

 

 

 

这个时候不要点“登录到管理控制台”,登录肯定失败,需要切换到这个页面:

 

 

”stop”,然后点“start,等重启动成功后点”Launch Admin”,进入登录页面:

 

 

 

使用admin 用户名和设置的口令123456登录,下面是登录成功的页面,恭喜!sqlserver2005上安装openfire成功!

 

 

我们打开ofUser数据库表可以看到admin用户信息:(下面的口令不是用md5加密的)

 

 

2.3 设置用户

 

在登录成功页面点“用户/组”标签维护用户信息,可在这里增加新的用户,也可以建组,下面是新建的几个组:

 

 

 

下面新建几个测试用户,分别是abao/abao,zhangyu/zhangyu,suqi/suqi,liu/liu

 

 

说明:当安装了spark客户端后,用户可直接在客户端注册帐号。

第三章   安装spark客户

第四章   配置msn

第六章   使用smack开发即时通信功能

 

可以使用smack开源产品开发与即时通信用户交互的功能,这样我们可以使用系统来模拟一个openfire的用户来向其他用户发送消息,因而可以使应用系统产生的业务消息实时传递给即时通信用户,例如系统向某用户发送“有新的请假单需要您审批”,如果用户开启了spark客户端,则spark客户端会实时接收此消息。

Smack可从网上下载,目前最新版本为smack_3_1_0.zip,将此文件里四个smack开头的jar包放到自己的WEB应用的WEB-INFlib目录,使用下面的jsp文件进行测试:

下面是测试向spark用户suqi发送消息的页面代码:

 

<%@ page contentType="text/html;charset=UTF-8"%>

 

<%@ page import="org.jivesoftware.smack.*"%>

<%@ page import="org.jivesoftware.smack.packet.*"%>

 

<%

 

   //以下可以通过程序向spark帐号发信息,但没有测通想msn帐号发信息

   XMPPConnection connection = new XMPPConnection("bzwang.tzsoft.com"); //openfire服务器的主机域名

   // ConnectionConfiguration connectionConfig = new ConnectionConfiguration( "messenger.hotmail.com",1863,"messenger.hotmail.com");

   //  XMPPConnection connection = new XMPPConnection(connectionConfig);

   connection.connect();//先连接服务器

   try



http://www.mihua.net/list/0/298.htm

最后

以上就是善良小蚂蚁为你收集整理的Java领域的IM解决方案 第二章 安装openfire3.6.4 第三章   安装spark客户 第四章   配置msn网 第六章   使用smack开发即时通信功能的全部内容,希望文章能够帮你解决Java领域的IM解决方案 第二章 安装openfire3.6.4 第三章   安装spark客户 第四章   配置msn网 第六章   使用smack开发即时通信功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部