你好,我计划开发一个聊天客户端,可以连接到gtalk,facebook等... 我已经决定使用smack API和openfire一起使用。
但我需要一些指导,如何在openfire服务器上使用它...
Openfire是否提供基本UI,如登录框,聊天窗口等...
我需要知道如何插入或使用Smack与Openfire
谢谢:)
你好,我计划开发一个聊天客户端,可以连接到gtalk,facebook等... 我已经决定使用smack API和openfire一起使用。
但我需要一些指导,如何在openfire服务器上使用它...
Openfire是否提供基本UI,如登录框,聊天窗口等...
我需要知道如何插入或使用Smack与Openfire
谢谢:)
配置Openfire,然后参考Smack提供的文档。它有易于理解的示例。顺便说一下,Openfire可以很好地与gtalk配合使用,但与Facebook配合使用时速度非常慢。
示例代码:
ConnectionConfiguration config = new ConnectionConfiguration(host, 5222);
XMPPConnection connection = new XMPPConnection(config);
connection.connect();
connection.login(user_name, password);
这里的 host 是 openfire 配置的 IP/域名。
这是一个示例,可以帮助在gtalk上设置状态消息。
import org.jivesoftware.smack.ConnectionConfiguration;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.packet.Presence;
public class SmackToGtalk {
public static void main(String[] args)
{
ConnectionConfiguration config = new ConnectionConfiguration(
"talk.google.com", 5222, "google.com");
XMPPConnection connection = new XMPPConnection(config);
Presence presence;
String status;
try {
connection.connect();
connection.login("mail_id@gmail.com", "password");
status = "DND";
presence = new Presence(Presence.Type.available, status, 24,
Presence.Mode.available);
while (true) {
status = set(status);
presence.setStatus(status);
connection.sendPacket(presence);
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
connection.disconnect();
}
}
private static String set(String input) {
return input.substring(1) + input.charAt(0);
}
}
<%@ page import="org.jivesoftware.smack.*;" %>
tomcat/lib
或者你的webapp/WEB-INF/lib