Openfire即时通讯服务搭建与Smack访问.doc
文本预览下载声明
Openfire即时通讯服务搭建与Smack访
问
Openfire 是开源的、基于可拓展通讯和表示协议(XMPP)、采用Java编程语言开发的实时协作服务器。 Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。
首先到openfire官网上去下载Openfire的服务器包与Smack的客户端调用包。
Openfire下载后,如果是win的版本,那么它是一个exe的安装包,运行下一步下一步即可,其间会需要配置数据库(Openfire当然是需要数据库支持的了,比如要存帐号等等的信息)。
编写我们的程序访问Operfire
[java] view plain copy
import java.util.Collection;
import java.util.Iterator;
import .SocketFactory;
import org.jivesoftware.smack.AccountManager; import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.ChatManager;
import org.jivesoftware.smack.ChatManagerListener; import org.jivesoftware.smack.Connection;
import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.MessageListener; import org.jivesoftware.smack.Roster;
import org.jivesoftware.smack.RosterEntry;
import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.packet.Session;
import org.jivesoftware.smack.packet.Message.Type;
public class SmackUtil {
private Connection connection;
private ConnectionConfiguration config; /** openfire服务器address */
private final static String server = 5;
private final void print(Object o) {
if (o != null) {
System.out.println(o);
}
}
private final void print(Object o, Object... args) {
if (o != null args != null args.length 0) {
String s = o.toString();
for (int i = 0; i args.length; i++) {
String item = args[i] == null ? : args[i].toString(); if (s.contains({ + i + })) {
s = s.replace({ + i + }, item);
} else {
s += + item;
}
}
System.out.println(s);
}
}
/**
* 初始Smack对openfire服务器链接的基本配置
*/
public void init() {
try {
//connection = new XMPPConnection(server);
//connection.connect();
/** 5222是openfire服务器默认的通信端口,5:9090/到管理员控制台查看客户端到服务器端口 */ config = new ConnectionConfiguration(server, 5222);
/** 是否启用压缩 */
config.setCompressionEnabled(true);
/** 是否启用安全验证 */
config.setSASLAuthenticationEnabled(tr
显示全部