您好我正计划开发一个可以连接到 gtalk facebook 等的聊天客户端...我决定使用 smack API 和 openfire ..
但是我需要很少的指导来了解如何将它与 openfire 服务器一起使用..
openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......
我需要知道如何使用 openfire 插入或使用 smack
谢谢:)
您好我正计划开发一个可以连接到 gtalk facebook 等的聊天客户端...我决定使用 smack API 和 openfire ..
但是我需要很少的指导来了解如何将它与 openfire 服务器一起使用..
openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......
我需要知道如何使用 openfire 插入或使用 smack
谢谢:)
配置 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/域名。
我决定将 smack API 与 openfire 一起使用。但我需要很少的指导来了解如何将它与 openfire 服务器一起使用。
Smack API 入门怎么样?
openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......
OpenFire 只是服务器。要真正聊天,您需要一些 Jabber/XMPP 客户端。您可以使用Spark进行测试。
这是一个示例,它将帮助在 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);
}
}
在 JSP/Java 中,导入 smack.jar
<%@ page import="org.jivesoftware.smack.*;" %>
将 smack.jar 放入
tomcat/lib
或 yourwebapp/WEB-INF/lib