Senden und Empfangen von Nachrichten über die Smack-API
Ich habe mein offenes Feuer (Jabber-Server) auf einem lokalen Computer mit zwei Benutzern (testuser1 und testuser2) eingerichtet. Mit dem Spark-Client führen beide Benutzer den Chat ohne Probleme aus.
openfire IP -192.168.1.65
Ich möchte die Smack-API (3.3.0) zum Senden und Empfangen von Nachrichten verwenden. Ich habe einen Code auf der Absenderseite geschrieben, um eine Nachricht (mit testuser1) zu senden, und mit Spark-Client (mit testuser2) getestet, die auf testuser2-Seite empfangen wurde. Wenn ich jedoch mit Java-Code versuche, eine Sendernachricht zu empfangen, kann ich diese Veröffentlichungsnachrichten nicht empfangen.
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);
}
}
}
Bitte helfen Sie mir und schlagen Sie vor, wenn ich einen falschen Ansatz verfolge.
Vielen Dank