Does anyone know of a library that will allow me to make both synchronous and asynchronous calls to a server in order to pass messages back and forth? The server will be connected to many clients and needs to be able to push messages to the clients as well as receive them from the clients (which I suppose makes the clients a form of server as well). I could use RMI to accomplish this by converting the synchronous calls into asynchronous using a queue and a separate processing
thread (or threads), but I'm not particularly fond of that solution.