Hello all,
That’s my first post here. Hopefully it will open the people attention to solve some issues and questions regarding XMPPConnection().
I would like to use a single shared TCP/IP socket opened by a high-resource device, in order to simultaneously host the loging, presence and communications of multiple XMPP client instances with different jids (most of them will belong to the same domain but others to a different domain).
For example user1@domain.org/Test1, user1@domain.org/Test2, user2@domain.org/Test1-u2, user3@anotherDomain.org/Test3-u3, etc… ,would all share a single client socket connected to the same server, over which auth and presence stanzas for the multiple endpoints would be passed. This socket would be simultaneously able to handle inbound and outbound stanzas on behalf of the multiple XMPP endpoints it hosts.
After discussion, I’m thinking to modify the client-side-library and more specifically the class XMPPConnection():
When a new client or intance (JID) wants to connect against the server, there is a high-resource device which manages the connection on behalf
–> test if there is any TCP-5222 connection already opened with the server --> if so, perform sothing like a fork()
and deals with stanzas as it was a new client --> send/receive outbound-inbound stanzas by this new “process handler”…
My questions:
Does it enought or I have to modify also the Server side? Note that the Server receives
a login connection from the same IP:Port. Is it anyhow of NAT the solution?
If so, and if I can’t not follow the server standards I will drop this idea since we need inter-XMPP-servers interopaerability
and not a simple closed solution.
I’ve been reading the forum entries and many people talks about Connection Managers…it is possible to have one in the client side?
or somehow imitate it’s behaviour in order to have one “hard” connection?
Annother colleague suggested me to perform federation upon the entities which share the same domain. Does the OpenFire support this Federation
in order that the server assum that each socket matches to several instances rather than only one as It has been developed?
Well that’s enoght for today thanks for your reading and hopefully also for your replies, suggestions.
Diego.
–