Hi everybody!
Sorry to bore you, but I have some basic questions:
I would like to write a component that should be able to receive messages/presence packets from and send them to a Openfire server. The component (or the plugin) API allows to receive packets only. How do I actively send packets? Is it necessary to use the smack-API for that and can I act as a gateway by using the smack-API? Smack seems to be a client-API only. Is there an Openfire API which allows acting as a gateway component?
Best regards,
Sven
You can send packets using the ComponentManager that you add your Component to. Something along the lines of:
ComponentManager componentManager = ComponentManagerFactory.getComponentManager();
componentManager.sendPacket(MyComponent, MyPacket);
(don’t know what the structure of your code might be =) )
Ahh, thank you!
Another question in that context:
What is the suitable interface if I want to send packets via the “plugin” API.
If I register a component, a subdomain’ed addressing is required but I would prefer, that the client does not need to address a component. hat should be possible by using the plugin interface, isn’t it? How do I send packages as a plugin?
Bye,
Sven
I believe you only have to implement Plugin and can simply add listeners to it to accomplish listening for packets. Likewise, I think you can PacketRouter to accomplish what you are after. (or PacketDeliverer? there’s a number of things you can access from XMPPServer)
A simple:
XMPPServer.getInstance().getPacketRouter().route(MyPacket);
Should do the trick.
See:
PacketRouter
PacketDeliverer
XMPPServer
O.k.! Thank you jadestorm for the really fast responses!