powered by Jive Software

Issues building game server with XIFF & Openfire

I’ve been building an application around XIFF for AS3 for about a month. Currently I’m having two problems which are keeping me from getting my game room server up and running.

First, when a user attaches to a room, they don’t get sent the full roster. I checked the incoming packets, and indeed only some of the presence packets from the other users in the room ever show up. I’ve checked the server debug logs and it doesn’t look like its a server problem, it just seems like the other clients aren’t sending out presence packets. This is also odd because the newly joined user always appears on the existing room participants rosters, so the other participants are receiving the new user’s presence.

Second, when I create a new reserved room, I see that unlockRoom in Room.as sends out a request for the room configuration fields to the server. I was never seeing a response and when I finally checked the debug logs, it says simply that it “Failed to route packet to JID”. I’ve peeked at the Openfire source to see if I could figure out what could cause this, but none of the causes seemed to fit what I thought should be going on.

Has anyone seen these problems before and what can I do to fix these? Thanks in advance!!

Ok, so its been a while, but I have fixed my problem. The issue stems from the fact that I originally setup XIFF to use the binary sockets. Many people claimed this was faster, and maybe it is, but its also not duplex, while the XMLSocket is. This means that the socket only works in one direction until its buffer has been completely flushed. Since I switched to the XML Sockets I have had no problems, and in fact my other communications issues were also solved. IQ requests always get responses now, and so on. So, in case anyone is running into this: Do not use binary sockets, use XML Sockets with XIFF!