package xmpp;
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.packet.Message;
public class SparkXMPP {
public static void main(String[] args) {
XMPPConnection connection = new XMPPConnection("openfire服务器"); // openfire服务器的主机域名
try {
connection.connect();
} catch (XMPPException e) {
e.printStackTrace();
}// 先连接服务器
try {
connection.login("10002", "10002");// 使用openfire的注册用户登录openfire服务器
System.out.println("登录成功!");
// createChat的第一个参数一定要带域名(suqi@bzwang.tzsoft.com),否则会话失败
Chat chat = connection.getChatManager().createChat(
"10086@openfire服务器", new MessageListener()
{
public void processMessage1(Chat chat, Message message)
{// 如果不用connection.disconnect()断开连接,这里可以监听回复信息
System.out.println("Received message: "
+ message.getBody());
}
public void processMessage(Chat arg0, Message arg1) {
// TODO Auto-generated method stub
}
});
System.out.println("发送消息....");
chat.sendMessage("的---2015年-1月-4号?");//
/*
* Message message = new
* Message("baozhengw9999%hotmail.com@openfire服务器");
*
* message.setBody("你好!我是个聊天机器人!");
*
* connection.sendPacket(message);
*/
System.out.println("发送完毕...");
connection.disconnect();
} catch (Exception ex) {
System.out.println("login error");
}
}
}
可以使用smack开源产品开发与即时通信用户交互的功能,这样我们可以使用系统来模拟一个openfire的用户来向其他用户发送消息,因而可以使应用系统产生的业务消息实时传递给即时通信用户,如系统向某用户发送“*****消息”,如果用户开启了spark客户端,则spark客户端会实时接收此消息。
Smack可从网上下载,目前最新版本为smack_3_1_0.zip,将此文件里四个smack开头的jar包放到自己的WEB应用的WEB-INF/lib目录
我这里自己写了一个java的Demo直接可以运行