I am writting a flex XMPP client using XIFF and OpenFire. I would like my client to connect to the server and automatically find all the services that are running the MUC protocol and then retrieve the list of rooms for each.
I am using the getServiceInfo() method in the Browse class to get the features of each service running on my server. To do this I am looping over an array of the service JID’s, so in my array are the JID’s pubsub.192.168.50.29, conference.192.168.50.29, proxy.192.168.50.29, search.192.168.50.29 etc… (this array is populated by calling getServerItems() on the server JID)
This is not a problem that is issolated to my jabber server, I have the same issue if I connect to a public server… although strangly, ‘distance’ between the client and server seems to make the issue worse??
Has anyone else experianced this problem? Is it due to the number of IQ requests I am sending in such a short time?
The problem I am having is that although the XMPPConnection is writing all the IQ requests to socket, the socketDataReceived() method is only being called for some of the requests. The number of responses that comes back from the server seems to be random, some times they all do (rarely) and other times just a few or one!?