- 浏览: 84767 次
- 性别:
- 来自: 北京
文章分类
最新评论
原文地址:java即时通信解决方案openfire+spark完整安装指南
本文介绍基于java的即时通信解决方案openfire3.6.4+spark2.5.8的完整的安装说明,并介绍了使用smack的java类库如何与im用户交互的例子,这样使得业务系统的消息可以通过smack编程将消息发送给spark客户端。spark2.5.8除了聊天之外还支持多人视频,语音,文件传输,截图,观看远程桌面,msn互联互通等功能。因
本文图片太多,需要看图片的请下载资源或者访问http://code.google.com/p/openjweb/downloads/list,找到java_im开头的文件下载。
Openfire+Spark安装手册
目 录
第一章 Java领域的IM解决方案
第二章 安装openfire3.6.4
2.1 配置机器的域名
2.2 安装openfire
2.2.1 安装
2.2.2 运行数据库脚本
2.2.3 数据库驱动jar包
2.2.4 openfire初始化配置
2.3 设置用户
第三章 安装spark客户端
第四章 配置msn网关
4.1 服务端配置msn网关
第五章 Red5视频配置
5.1 部署red5.war
5.2 spark客户端配置视频插件
第六章 使用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使用smack的API向openfire注册用户发送消息,并且可以通过监听器获得此用户的应答消息。
通过smack向msn用户和QQ用户,gtalk用户发送消息应该也可以实现,关于向gtalk用户发送消息的例子较多。这个留待以后研究。至少目前可以通过程序向spark发消息了。对于局域网内部应用足以解决系统与用户交互的问题,甚至可以做自动应答机器人。
Spark支持聊天,语音,视频,会议,文件收发,截屏,连接msn等功能。
第二章 安装openfire3.6.4
2.1 配置机器的域名
使用openfire需要配置机器的域名。如果局域网内没有安装域服务器,则需要手工为机器配置域名,打开C:/WINDOWS/system32/drivers/etc/hosts文件,增加一新行:
127.0.0.1 bzwang.tzsoft.com (用户根据自己的需要可配置称别的名字,但最好符合带.的域名格式)
其他机器使用域名访问openfire,也需要在C:/WINDOWS/system32/drivers/etc/hosts中指定bzwang.tzsoft.com对应的ip地址,假设安装openfire的主机IP为192.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 Files/Openfire/resources/database目录下,如果用户安装选择的不是C:/Program Files目录,可以到安装openfire目录下找到database目录,打开此目录后可看到有多种版本的数据库脚本,假定我们现在要把openfire的数据库安装在sqlserver2005中,则使用openfire_sqlserver.sql脚本,假如已经装好了2005数据库,可在Management Studio中执行数据库脚本,见下图:
执行后,打开数据库,可看到下面创建的数据库表:
2.2.3 数据库驱动jar包
如果使用sqlserver2005,则将sqlserver2005驱动jar包sqljdbc.jar复制到C:/Program Files/Openfire/lib下,使用openjweb快速开发平台的用户可直接从D:/project/apache-tomcat-5.5.27/common/lib找到此jar包复制过去,另外此目录还有mysql的mysql-connector-java-3.1.12-bin.jar和oracle的ojdbc14.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保复制到openfire的lib目录
(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客户端
安装程序为spark_2_5_8.exe,安装过程全部默认即可。
下面是登录界面:
登录时可使用openfire中创建的帐号,也可以点(A)帐户自己注册新的帐号,服务器需设置为openfire的域名地址即上面安装的bzwang.tzsoft.com,下面是登录成功界面:
关于spark客户端的具体功能就不介绍了,下面介绍openfire配置msn网关及spark如何连接msn,以及red5视频的配置方式。
第四章 配置msn网关
4.1 服务端配置msn网关
将gateway.jar插件包(可网上下载)复制到openfire的plugin目录下,如:
C:/Program Files/Openfire/plugins,如果openfire安装到别的目录请找到对应的目录,把gateway.jar复制过去。停止openfire,重新启动并登录后,见下面的页面,多出了一个gateways的标签页:
点Gateways,找到MSN Messagers,勾选,然后点“选项”,见下图:
以上默认的配置不用修改,点“测试”,显示:
点“测试连接”,显示测试成功。(右侧将显示绿色背景的文字提示测试成功)
4.2 spark客户端设置msn帐号:
启动spark,登录后,spark窗口的右上多出一个灰色的蝴蝶,见下图:
点这个蝴蝶,然后选择“输入登入资讯”,显示下面的窗口:
在这里输入msn的用户和口令,然后保存,稍后片刻,spark将从msn上获取用户列表,最后显示下面的msn好友列表:
这时可以选择一个在线用户聊天了,spark还支持文件传输,截屏,语音,视频等。
第五章 Red5视频配置
5.1 部署red5.war
将red5.war复制到C:/Program Files/Openfire/plugins,如果openfire是在运行状态,一会会在这个目录下自动部署red5.war(在此目录下自动生成red5目录)。安装成功后,openfire的管理页面会多出一个red5标签,见下图:
服务端不需要做任何改动。
5.2 spark客户端配置视频插件
上一步骤部署了red5后,需要停止openfire并重新启动,启动完成后,访问http://bzwang.tzsoft.com:7070/red5,显示一个red5的html首页,下拉到页面最下面,找到spark plugin,点”here”,见下图:
点”here”会下载red5-plugin.jar,直接保存在C:/Program Files/Spark/plugins目录下,重新启动spark。
在spark中右键点一个人,会出现几个菜单:
其中View Destop Screen和Publish Desktop Screen是相关联的,见下图:
如果A用户用Publish Desktop Screen发布了自己的桌面,B用户选择A用户,右键选择上一个图中的View Desktop Screen,则B用户可看到A用户的计算机桌面。在http://bzwang.tzsoft.com:7070/red5页面上有一个功能和这个类似,见下图:
To publish是发布自己的桌面,To Viewer是别人观看自己发布的桌面,多人发布是什么效果没有具体测试。可以自己发布然后观看自己的桌面(效果有点像两个镜子对照,会出现层层窗口嵌套的现象),下面是自己发布自己的桌面并观看自己的桌面的效果:
当选择一个人,右键选择Add/Remove Video Roster后,可进行 视频聊天,可以加多个人进行视频,每选择一个热人,然后点Add/Remove Video Roster,就可以将这个人加入到视频中或者从视频中移除,下面是视频页面(我没装摄像头),可以看出一个页面中可以显示多人视频,如果其他人也装了spark,估计也能看到多人视频的效果(猜测,没有测试),见下图:
第六章 使用smack开发即时通信功能
可以使用smack开源产品开发与即时通信用户交互的功能,这样我们可以使用系统来模拟一个openfire的用户来向其他用户发送消息,因而可以使应用系统产生的业务消息实时传递给即时通信用户,例如系统向某用户发送“有新的请假单需要您审批”,如果用户开启了spark客户端,则spark客户端会实时接收此消息。
Smack可从网上下载,目前最新版本为smack_3_1_0.zip,将此文件里四个smack开头的jar包放到自己的WEB应用的WEB-INF/lib目录,使用下面的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
{
connection.login("abao", "abao");//使用openfire的注册用户登录openfire服务器
System.out.println("登录成功!");
//createChat的第一个参数一定要带域名(suqi@bzwang.tzsoft.com),否则会话失败
Chat chat = connection.getChatManager().createChat("suqi@bzwang.tzsoft.com", new MessageListener()
//Chat chat = connection.getChatManager().createChat("baozhengw9999%hotmail.com@msn.bzwang.cmissoft.com", new MessageListener()
{
public void processMessage(Chat chat, Message message)
{
//如果不用connection.disconnect()断开连接,这里可以监听回复信息
System.out.println("Received message: " + message.getBody());
}
}
);
System.out.println("发送消息....");
chat.sendMessage("请问你收到我的消息了吗?");//
/* Message message = new Message("baozhengw9999%hotmail.com@msn.bzwang.cmissoft.com");
message.setBody("你好!我是个聊天机器人!");
connection.sendPacket(message);
*/
System.out.println("发送完毕...");
connection.disconnect();
} catch (Exception ex) {
System.out.println("login error");
}
%>
发送成功后,如果suqi用户打开了spark,则spark会闪烁提示有新消息,打开spark,聊天窗口显示系统用abao用户发送的消息,见下图:
这样实现了业务系统和即时通信的无缝整合,以后应该还可以实现通过smack编程使内网的openfire注册用户向自己的msn好友或QQ好友发送消息以及接收消息。
本文介绍基于java的即时通信解决方案openfire3.6.4+spark2.5.8的完整的安装说明,并介绍了使用smack的java类库如何与im用户交互的例子,这样使得业务系统的消息可以通过smack编程将消息发送给spark客户端。spark2.5.8除了聊天之外还支持多人视频,语音,文件传输,截图,观看远程桌面,msn互联互通等功能。因
本文图片太多,需要看图片的请下载资源或者访问http://code.google.com/p/openjweb/downloads/list,找到java_im开头的文件下载。
Openfire+Spark安装手册
目 录
第一章 Java领域的IM解决方案
第二章 安装openfire3.6.4
2.1 配置机器的域名
2.2 安装openfire
2.2.1 安装
2.2.2 运行数据库脚本
2.2.3 数据库驱动jar包
2.2.4 openfire初始化配置
2.3 设置用户
第三章 安装spark客户端
第四章 配置msn网关
4.1 服务端配置msn网关
第五章 Red5视频配置
5.1 部署red5.war
5.2 spark客户端配置视频插件
第六章 使用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使用smack的API向openfire注册用户发送消息,并且可以通过监听器获得此用户的应答消息。
通过smack向msn用户和QQ用户,gtalk用户发送消息应该也可以实现,关于向gtalk用户发送消息的例子较多。这个留待以后研究。至少目前可以通过程序向spark发消息了。对于局域网内部应用足以解决系统与用户交互的问题,甚至可以做自动应答机器人。
Spark支持聊天,语音,视频,会议,文件收发,截屏,连接msn等功能。
第二章 安装openfire3.6.4
2.1 配置机器的域名
使用openfire需要配置机器的域名。如果局域网内没有安装域服务器,则需要手工为机器配置域名,打开C:/WINDOWS/system32/drivers/etc/hosts文件,增加一新行:
127.0.0.1 bzwang.tzsoft.com (用户根据自己的需要可配置称别的名字,但最好符合带.的域名格式)
其他机器使用域名访问openfire,也需要在C:/WINDOWS/system32/drivers/etc/hosts中指定bzwang.tzsoft.com对应的ip地址,假设安装openfire的主机IP为192.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 Files/Openfire/resources/database目录下,如果用户安装选择的不是C:/Program Files目录,可以到安装openfire目录下找到database目录,打开此目录后可看到有多种版本的数据库脚本,假定我们现在要把openfire的数据库安装在sqlserver2005中,则使用openfire_sqlserver.sql脚本,假如已经装好了2005数据库,可在Management Studio中执行数据库脚本,见下图:
执行后,打开数据库,可看到下面创建的数据库表:
2.2.3 数据库驱动jar包
如果使用sqlserver2005,则将sqlserver2005驱动jar包sqljdbc.jar复制到C:/Program Files/Openfire/lib下,使用openjweb快速开发平台的用户可直接从D:/project/apache-tomcat-5.5.27/common/lib找到此jar包复制过去,另外此目录还有mysql的mysql-connector-java-3.1.12-bin.jar和oracle的ojdbc14.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保复制到openfire的lib目录
(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客户端
安装程序为spark_2_5_8.exe,安装过程全部默认即可。
下面是登录界面:
登录时可使用openfire中创建的帐号,也可以点(A)帐户自己注册新的帐号,服务器需设置为openfire的域名地址即上面安装的bzwang.tzsoft.com,下面是登录成功界面:
关于spark客户端的具体功能就不介绍了,下面介绍openfire配置msn网关及spark如何连接msn,以及red5视频的配置方式。
第四章 配置msn网关
4.1 服务端配置msn网关
将gateway.jar插件包(可网上下载)复制到openfire的plugin目录下,如:
C:/Program Files/Openfire/plugins,如果openfire安装到别的目录请找到对应的目录,把gateway.jar复制过去。停止openfire,重新启动并登录后,见下面的页面,多出了一个gateways的标签页:
点Gateways,找到MSN Messagers,勾选,然后点“选项”,见下图:
以上默认的配置不用修改,点“测试”,显示:
点“测试连接”,显示测试成功。(右侧将显示绿色背景的文字提示测试成功)
4.2 spark客户端设置msn帐号:
启动spark,登录后,spark窗口的右上多出一个灰色的蝴蝶,见下图:
点这个蝴蝶,然后选择“输入登入资讯”,显示下面的窗口:
在这里输入msn的用户和口令,然后保存,稍后片刻,spark将从msn上获取用户列表,最后显示下面的msn好友列表:
这时可以选择一个在线用户聊天了,spark还支持文件传输,截屏,语音,视频等。
第五章 Red5视频配置
5.1 部署red5.war
将red5.war复制到C:/Program Files/Openfire/plugins,如果openfire是在运行状态,一会会在这个目录下自动部署red5.war(在此目录下自动生成red5目录)。安装成功后,openfire的管理页面会多出一个red5标签,见下图:
服务端不需要做任何改动。
5.2 spark客户端配置视频插件
上一步骤部署了red5后,需要停止openfire并重新启动,启动完成后,访问http://bzwang.tzsoft.com:7070/red5,显示一个red5的html首页,下拉到页面最下面,找到spark plugin,点”here”,见下图:
点”here”会下载red5-plugin.jar,直接保存在C:/Program Files/Spark/plugins目录下,重新启动spark。
在spark中右键点一个人,会出现几个菜单:
其中View Destop Screen和Publish Desktop Screen是相关联的,见下图:
如果A用户用Publish Desktop Screen发布了自己的桌面,B用户选择A用户,右键选择上一个图中的View Desktop Screen,则B用户可看到A用户的计算机桌面。在http://bzwang.tzsoft.com:7070/red5页面上有一个功能和这个类似,见下图:
To publish是发布自己的桌面,To Viewer是别人观看自己发布的桌面,多人发布是什么效果没有具体测试。可以自己发布然后观看自己的桌面(效果有点像两个镜子对照,会出现层层窗口嵌套的现象),下面是自己发布自己的桌面并观看自己的桌面的效果:
当选择一个人,右键选择Add/Remove Video Roster后,可进行 视频聊天,可以加多个人进行视频,每选择一个热人,然后点Add/Remove Video Roster,就可以将这个人加入到视频中或者从视频中移除,下面是视频页面(我没装摄像头),可以看出一个页面中可以显示多人视频,如果其他人也装了spark,估计也能看到多人视频的效果(猜测,没有测试),见下图:
第六章 使用smack开发即时通信功能
可以使用smack开源产品开发与即时通信用户交互的功能,这样我们可以使用系统来模拟一个openfire的用户来向其他用户发送消息,因而可以使应用系统产生的业务消息实时传递给即时通信用户,例如系统向某用户发送“有新的请假单需要您审批”,如果用户开启了spark客户端,则spark客户端会实时接收此消息。
Smack可从网上下载,目前最新版本为smack_3_1_0.zip,将此文件里四个smack开头的jar包放到自己的WEB应用的WEB-INF/lib目录,使用下面的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
{
connection.login("abao", "abao");//使用openfire的注册用户登录openfire服务器
System.out.println("登录成功!");
//createChat的第一个参数一定要带域名(suqi@bzwang.tzsoft.com),否则会话失败
Chat chat = connection.getChatManager().createChat("suqi@bzwang.tzsoft.com", new MessageListener()
//Chat chat = connection.getChatManager().createChat("baozhengw9999%hotmail.com@msn.bzwang.cmissoft.com", new MessageListener()
{
public void processMessage(Chat chat, Message message)
{
//如果不用connection.disconnect()断开连接,这里可以监听回复信息
System.out.println("Received message: " + message.getBody());
}
}
);
System.out.println("发送消息....");
chat.sendMessage("请问你收到我的消息了吗?");//
/* Message message = new Message("baozhengw9999%hotmail.com@msn.bzwang.cmissoft.com");
message.setBody("你好!我是个聊天机器人!");
connection.sendPacket(message);
*/
System.out.println("发送完毕...");
connection.disconnect();
} catch (Exception ex) {
System.out.println("login error");
}
%>
发送成功后,如果suqi用户打开了spark,则spark会闪烁提示有新消息,打开spark,聊天窗口显示系统用abao用户发送的消息,见下图:
这样实现了业务系统和即时通信的无缝整合,以后应该还可以实现通过smack编程使内网的openfire注册用户向自己的msn好友或QQ好友发送消息以及接收消息。
发表评论
-
Android SDK下载速度慢无法更新?使用国内镜像站加速
2016-01-29 18:18 728https://blog.kuoruan.com/24.htm ... -
探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
2014-08-01 12:02 399原文地址:http://blog.zhourunsheng.c ... -
关于ViewPager和Fragment
2014-07-07 14:18 1014原文地址:http://www.cnblogs.com/iho ... -
Android移动操作系统的脆弱性分类研究
2014-03-18 14:46 622下载地址:http://www.paper.edu.cn/re ... -
Android实战技巧:深入解析AsyncTask
2014-03-06 11:21 347原文地址:http://blog.csdn ... -
Ubuntu android真机调试
2014-03-06 11:01 449关闭adb服务,切换到root,重启adb服务,离开root ... -
64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
2014-02-07 13:29 584原文地址:http://blog.csdn.net/jayho ... -
【Android 声音处理】MediaPlayer和SoundPool
2014-01-14 17:08 1893原文地址:http://blog.sina ... -
Android自定义组件之一:View详解
2013-07-15 16:08 761原文地址:http://www.eoeandroid.com/ ... -
Android中error inflating class fragment
2013-06-19 17:21 1092原文地址:http://blog.csdn.net/qp120 ... -
拿来主义Android优秀开源项目
2013-06-05 11:57 910http://dengzhangtao.iteye.com/b ... -
android sqlite db-journal文件产生原因及说明
2013-06-05 11:37 3564原文地址:http://blog.csdn.net/chthq ... -
Android系统自带Camera方向判别
2013-05-22 16:40 689使用了OrientationEventListener, 也就 ... -
android onTouchEvent和setOnTouchListener中onTouch的区别
2013-03-27 10:35 729原文地址:http://blog.csdn ... -
Android源码编译整理总结
2013-01-08 11:37 681原文地址:http://www.cnblogs.com/hoj ... -
安卓图表引擎AChartEngine(一) - 简介
2012-12-20 17:47 981原文地址:http://blog.csdn.net/lk_bl ... -
微技巧:Android手机隐藏指令大全
2012-12-07 11:36 764原文地址:http://news.xinhuanet.com/ ... -
自定义控件(attrs定义属性的使用)
2012-12-04 11:38 1149这里为了演示使用自定义变量,字体大小改用自定义的属性。 首先 ... -
二进制在数学中的妙用
2012-11-14 15:50 802原文地址:http://blog.csdn.net/hackb ... -
国外程序员推荐:每个程序员都应读的书
2012-11-06 10:58 800原文地址:http://blog.jobbole.com/58 ...
相关推荐
【Openfire、Spark和SparkWeb】是一套开源的即时通讯解决方案,主要由Openfire服务器、Spark客户端和SparkWeb网页客户端组成。Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark...
总的来说,Openfire、Spark和Smack的组合提供了一套完整的、可扩展的、基于XMPP的即时通讯解决方案。开发者可以根据项目需求,灵活选择使用Openfire作为服务器,Spark作为客户端,或者利用Smack开发自己的客户端应用...
《Openfire+Spark+SparkWeb安装配置详解》 Openfire是一款基于Jabber协议的开源即时通讯服务器,它支持多种操作系统,并自带Java环境。搭配Spark客户端,可以构建一个功能强大的企业级聊天系统。在此,我们将详细...
我们将从 XMPP 协议的介绍开始,接着讨论如何使用 Spark 和 Openfire 来实现一个完整的 IM 软件开发。 什么是 XMPP? XMPP(Extensible Messaging and Presence Protocol)是一种发送、接收和处理消息的协议。它...
"OpenFire+Spark+Smack开发流程" 在本文中,我们将详细介绍OpenFire、Spark和Smack三个组件在XMPP IM开发中的作用,以及如何使用它们来开发一个完整的XMPP IM系统。 首先,让我们了解一下XMPP是什么?Extensible ...
Openfire+Spark+Spark_Web安装配置
本资源包含JAVA源码、openfire服务器和spark客户端,为开发者提供了一整套构建即时通讯系统的解决方案。 首先,我们要了解JAVA源码在即时通讯中的作用。Java作为跨平台的编程语言,广泛应用于服务器端开发,尤其...
Openfire和Spark是两个在企业通信领域常用的开源软件,它们主要提供即时消息(IM)、音频和视频通话功能。Openfire是一款基于XMPP协议的服务器,而Spark则是一个客户端应用程序,两者结合可以构建出一套完整的实时...
openfire+spark 支持视频的插件 把插件放到 spark 安装目录中openfire+spark 支持视频的插件 把插件放到 spark 安装目录中
- **AdXmpp(Openfire+asmack+spark)**:这个目录可能包含了整个即时通信系统的源代码,包括Android客户端应用和可能的服务器配置文件。 在学习和使用这个项目时,你需要理解XMPP协议的基本原理,熟悉Openfire服务器...
OpenFire和Spark是一款常用于构建即时通讯(IM)系统的开源软件组合。OpenFire作为服务端,负责处理消息的传输和管理用户数据,而Spark作为客户端,提供用户界面,让用户能够进行实时聊天和文件交换。 **OpenFire的...
【WebIM(Openfire+Spark+Smack)】是一个在Java领域实现即时通讯(IM)的解决方案,以其稳定性、安全性和高效性而受到推崇。该方案由三个主要组件构成:Openfire作为服务器端,Spark作为客户端,而Smack则负责实现...
【Openfire+Spark+Smack开发流程】 Openfire、Spark和Smack是构建XMPP即时通讯(IM)系统的三大核心组件。XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放协议,用于实时通讯和状态传递。...
本文介绍基于java的即时通信服务器openfire3.6.4和spark2.5.8客户端产品以及如何使用smack开发java程序与即时通信用户交互,spark除聊天支持外,还支持语音,多人视频,文件传输,截图,远程观看桌面,msn网关...
Android AdXmpp(Openfire+asmack+spark)即时通信.zip项目安卓应用源码下载Android AdXmpp(Openfire+asmack+spark)即时通信.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司...
openfire+spark+smack工具,针对即时消息模拟以及xmpp协议测试有很大的帮助
Android AdXmpp项目结合了Openfire服务器、Asmack库和Spark客户端组件,提供了一种高效的解决方案。本文将详细介绍这个组合的实现原理和关键知识点。 首先,Openfire是基于XMPP(Extensible Messaging and Presence...