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/

Reply via email to