Не удается отправить сообщение на сервер openfire - PullRequest
2 голосов
/ 20 марта 2012

Я не могу отправить сообщение клиенту XMPP на сервере openfire с использованием SMACK API.Я не уверен, где я иду не так.Я протестировал тот же код на gtalk, и он отлично работает.

public class SenderTest 
{
public static void main(String args[])
{
    ConnectionConfiguration connConfig = new ConnectionConfiguration("localhost", 5222);
        connConfig.setSASLAuthenticationEnabled(false);
       XMPPConnection connection = new XMPPConnection(connConfig);

        try {
            connection.connect();
            System.out.println("Connected to " + connection.getHost());
        } catch (XMPPException ex) {
            //ex.printStackTrace();
            System.out.println("Failed to connect to " + connection.getHost());
            System.exit(1);
        }
        try {
            connection.login("sender", "a");
            System.out.println("Logged in as " + connection.getUser());

            Presence presence = new Presence(Presence.Type.available);
            connection.sendPacket(presence);

        } catch (XMPPException ex) {
            //ex.printStackTrace();
            System.out.println("Failed to log in as " + connection.getUser());
            System.exit(1);
        }

    ChatManager chatmanager = connection.getChatManager();
    Chat newChat = chatmanager.createChat("receiver@example.com", new MessageListener() {
        public void processMessage(Chat chat, Message message) {
            System.out.println("Received message: " + message);
        }
    });

    try {
        newChat.sendMessage("Howdy!");
        System.out.println("Message Sent...");
    }
    catch (XMPPException e) {
        System.out.println("Error Delivering block");
    }
}

}

Это дает мне «Сообщение отправлено ...».но сообщение не приходит на принимающую сторону.

Также, если «отправитель» хочет отправить сообщение «получателю», значит ли это, что они должны быть добавлены в «список» друг друга

Ответы [ 2 ]

2 голосов
/ 22 октября 2012

Вы проверяете журнал ошибок сервера openfire. Вы можете получить ошибку вроде 'неверное имя хоста в заголовке потока. Хост: example.com ' Я видел такой тип ошибки, если имя вашего сервера «localhost», то вы можете отправлять сообщения между пользователями, такими как user1@localhost.com, user2@localhost.com ... и т. Д.

, но user1@localhost.com не может отправить сообщение на xyz@example.com.

1 голос
/ 20 марта 2012

Вы регистрируетесь на localhost , но отправляете сообщение на receiver@example.com. Вы уверены, что это правильный jid для другого пользователя? Я ожидаю, что это receiver@localhost.

AFAIK, в чате не требуется, чтобы они были в списках друг друга, хотя это более типичный случай.

...