Search code examples
androidxmppsendpacketopenfire

Sending XMPP packets to Openfire plugin on Android


I am trying to implement a simple Android application that sends and recieves packets to and from a plugin written for Openfire server. The plugin is meant to recieve packets from a client for further processing. So it is not a chat. The following code snippet shows my way of sending packets to the server:

ConnectionConfiguration configuration = new ConnectionConfiguration(
        HOST, PORT);
Connection connection = new XMPPConnection(configuration);
try {
    connection.connect();
} catch (XMPPException e) {
    e.printStackTrace();
}
if (connection.isConnected()) {
    Packet packet = new Message();
    packet.setFrom("123456789@localhost");
    packet.setTo("[email protected]");
    connection.sendPacket(packet);
    connection.disconnect();
}

HOST and PORT are predefined constants.

I tried to use code in if clause inside the plugin and it worked perfectlly - component recieves packets and works with them. However, in my Android application this code does not work - packets do not reach the component.

So, guys, if you have any suggestions I will be greatful for your help. Maybe I use wrong technique somewhere - I am new to XMPP and Openfire.


Update

There are all needed permissions in application's manifest. And HOST is equal to a static IP address of the PC running Openfire server.

private static final String HOST = "192.168.1.100";
private static final int PORT = 5222;

Solution

  • In order to send packets to a server you should login to it using login() or loginAnonymously() methods of org.jivesoftware.smack.Connection class.

    Thanks mr. Flow for the hint.