I’ve been poking at an “RMI” over UDP package that lets you reasonably reliably call methods remotely to on a server, and for the server to call back to all connected users.
The methods are called in the right order, and each method call with either be performed, or the connection will time out.
It’s still kinda crude, but it seems to work well enough.
Current issues:
- It’s not thread safe at all, and it requires that you call an update() fairly often. This method cannot be called while a remote call is being made.
- There’s no real flow control, so if you send more data than the receiving end can handle, it’ll time out and die without really explaining why.
- It uses java.lang.reflect for the method calls. Precompiled stubs will be added later on.
- Even if no methods are called, the client and server will keep acking eachother’s acks until the connection is manually stopped, or until the connection fails. I’ll add support for marking packets that only contain acks later on to prevent this.
- Return values are not supported. This IS UDP, after all.
I’m not sure if this is useful to anyone, but I figured it would be nice to give something back to the java community.
So if you want it, just let me know, and I’ll look into setting up a project dev.java.net or something.
(I’d probably need some help with that)