отправлять и получать сообщения, используя smack API
Я установил свой открытый огонь (сервер jabber) на локальном компьютере с двумя пользователями testuser1 и testuser2. Используя клиент Spark, оба пользователя выполняют чат без каких-либо проблем.хорошо.
Открытый огонь IP -192.168.1.65
Я хочу использовать API smack (3.3.0) для отправки и получения сообщения. Я написал код стороны отправителя для отправки сообщения (с testuser1) и проверил сообщение Spark client (с testuser2), полученное на стороне testuser2, но когда я пытаюсь с помощью кода Java получить сообщение отправителя, я не могу получить эти опубликованные сообщения.
Sender.java
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.MessageListener;
public class Sender
{
public static void main(String a[]) throws XMPPException, InterruptedException
{
XMPPConnection connection = new XMPPConnection("192.168.1.65");
System.out.println(connection);
connection.connect();
connection.login("testuser1", "test123");
Chat chat = connection.getChatManager().createChat("testuser2@sameek", new MessageListener() {
public void processMessage(Chat chat, Message message) {
// Print out any messages we get back to standard out.
System.out.println("Received message: " + message);
}
});
chat.sendMessage("Howdy test1!");
while (true) {
Thread.sleep(50);
}
}
}
Receiver.java
import org.jivesoftware.smack.Chat;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.MessageListener;
public class Receiver
{
public static void main(String a[]) throws XMPPException,, InterruptedException
{
XMPPConnection connection = new XMPPConnection("192.168.1.65");
System.out.println(connection);
connection.connect();
connection.login("testuser2", "test123");
Chat chat = connection.getChatManager().createChat("testuser1@sameek", new MessageListener() {
public void processMessage(Chat chat, Message message) {
// Print out any messages we get back to standard out.
System.out.println("Received message: " + message);
}
});
chat.sendMessage("Howdy test2!");
while (true) {
Thread.sleep(50);
}
}
}
Пожалуйста, помогите мне и предложите, если я следую неправильный подход
Спасибо