Hi, I've got one more question about communication between my game server (a 'classical' Java J2SE application) and the APE server that will run on the same host.
As I will use the APE server as kind of 'frontend' to manage users and lobbys, the APE server and my game server will have to communicate in both ways. Two examples: - when a new user connects to the APE server, a callback should be called in my (Java) game server. - when a new game is created by my (Java) game server, it will use the APE server to send a RAW to connected clients. For that I see yet 3 possibilities: 1/ make my Java game server act as any APE client, and connect to the APE server with HTTP requests. In other words, it means re-write an equivalent to the APE JSF in Java and include it in the game server. 2/ Write an APE server-side module in C that would open a (local) listening TCP socket on which my Java game sever will connect. With a tiny home-made protocol, i will be able to communicate in both ways. 3/ Write an APE server-side module in C that will be directly accessible to my Java game server using JNI (Java Native Interface). As far as I tought to it: I don't like solution 1, because that means a complete rewrite of kind of APE client in Java (lot's of code), and I will have to maintain lot's of things each time a new version of APE server makes changes in the JSF. I'm afraid with a C module with a socket (solution 2), because of threading issues: my socket will have its own thread ; what will happend if the socket thread fires an event while the APE server is doing something else at the same time. I suppose server-side module framework of APE server is not intended by default to be thread safe. Moreover, it means an implementation of a complete protocol in both C module and in my Java server (lot's of code) Solution 3 looks the more 'efficient' : the server C module would only be kind of abstract wrapper interface (ie almost just C prototypes, no code) to the native module APE functions, and all my specific code will be in my Java server. But there's still the threading issue (game server and APE server are in two separate thread) and as I never used JNI before, I don't know if it is easily doable (especially sharing the same library between two separate processes). Would anyone have an idea ... and good advices ? Best regards, Nouk² -- You received this message because you are subscribed to the Google Groups "APE Project" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/ape-project?hl=en --- APE Project (Ajax Push Engine) Official website : http://www.ape-project.org/ Git Hub : http://github.com/APE-Project/
