6

您好我正计划开发一个可以连接到 gtalk facebook 等的聊天客户端...我决定使用 smack API 和 openfire ..

但是我需要很少的指导来了解如何将它与 openfire 服务器一起使用..

openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......

我需要知道如何使用 openfire 插入或使用 smack

谢谢:)

4

4 回答 4

4

配置 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/域名。

于 2011-05-11T09:43:22.627 回答
3

我决定将 smack API 与 openfire 一起使用。但我需要很少的指导来了解如何将它与 openfire 服务器一起使用。

Smack API 入门怎么样?

openfire是否提供了一个基本的用户界面,比如登录框聊天窗口等......

OpenFire 只是服务器。要真正聊天,您需要一些 Jabber/XMPP 客户端。您可以使用Spark进行测试。

于 2011-05-11T09:40:31.277 回答
3

这是一个示例,它将帮助在 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);
}
}
于 2012-08-07T08:48:10.700 回答
1

在 JSP/Java 中,导入 smack.jar

<%@ page import="org.jivesoftware.smack.*;" %>

将 smack.jar 放入

tomcat/lib 

或 yourwebapp/WEB-INF/lib

于 2012-05-23T03:10:01.313 回答