Как использовать smack с Openfire

Привет Я планирую разработать чат-клиент, который может подключиться к GTalk facebook и т. д...Я решил использовать API smack вместе с openfire..

но мне нужно небольшое руководство о том, как использовать его с openfire server..

и openfire предоставляет базовый пользовательский интерфейс, такой как окно чата и т. д...

Мне нужно знать, как подключить или использовать smack с openfire

спасибо:)

4 ответов


Я решил использовать API smack вместе с openfire.. Но мне не нужны указания, как это сделать. использовать его с openfire server..

насчет Smack API начало работы?

и openfire обеспечивает базовое Пользовательский интерфейс как зайти в окно чата и т. д...

OpenFire-это только сервер. Чтобы на самом деле общаться, вам понадобится клиент Jabber/XMPP. Вы могли бы использовать Искра для тесты.


настроить openfire затем обратитесь к документация, предоставленная Smack. Здесь легко понять примеры. FYI openfire отлично работает с gtalk, но с facebook это очень медленно.


пример кода:-

ConnectionConfiguration config = new ConnectionConfiguration(host, 5222);
XMPPConnection connection = new XMPPConnection(config);
connection.connect();
connection.login(user_name, password);

здесь хост-это ip / доменное имя, в котором настроен openfire.


Это пример, который поможет установить сообщение о состоянии на 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.Джар

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

место smack.jar in

tomcat/lib 

или yourwebapp/WEB-INF / lib