Question regarding the Habbo Client (Not what you might be thinking)
Hi,
First of all, this is a developers question. Stay away wannabes!
Without saying too much, I am writing an application that needs to accept connections from a Habbo Client (specifically, the SWF), and then the data that comes from that connection is simply forwarded to a second socket in the application. All this is fine.
When I test it out, and load the Habbo client (details changed and all), I get one connection -- as you'd expect -- that is picked up by the application. The client socket sends the handshake signal, which is simply passed to a Habbbo emulator. In turn, the data from the Habbo emulator, is transferred to the client through the application. So, this is the setup:
[Client] -------------> [Application] -------------> [Emulator]
The emulator returns the policy document, and this is transferred to the client.
Now, the application also picks up a SECOND connection, and I can see a lot of data that goes to it is essential to the operation of the client. But, as you might imagine, I never intended for the client to make a second connection.
I have looked this up, and I'm guessing the first connection is for authentication (the security/same origin policy mechanism, etc.), and the second connection is for the actual byte stream.
What I'm asking for is verification. Why is this happening? Is it the above? I haven't had time to pull any emulator source code (most of it is C#... not my favourite language at ALL) to see how it handles the incoming connections.
The application I am building, I guess, could be described as a proxy. It just provides a bridge between the client and the emulator. The reason why I need this really isn't interesting at all. The application is being wrote in C++ under Linux/UNIX.
Also, during a test, I did get the application to a point where it would actually bridge the connection, but the connection was not stable at all, and I am dead certain that was due to the way I had originally designed the I/O loop.
I'm not good at explaining, but I hope someone understands what I'm asking, and if not, I will quite happily elaborate more.
Oh, and I hope this is in the relevant section.
Thanks!