What is Armi?
Armi is an open source messaging solution for Java. Armi ideal for gaming or any other application in which you want a communication mechanism that is:
- easy to use
- uses a minimum of bandwidth
If you have a Java application that communicates over a modem and you're familiar with RMI, Armi is a great alternative.
More detail
Armi stands for Asynchronous Remote Method Invocation. Armi enables you to call methods on objects that reside on another computer, via a network. As in RMI, you define what objects will be shared over the network and what methods will be available for remote calling. A method called on a remote object via Armi will return immediately, and your program can be doing other things while the method executes on the server. (Hence, Armi is asynchronous.) Method calls in Armi all return a ReturnValue, and whenever you are ready for the return value from an Armi method invocation, you can just call getValue() on the ReturnValue. This call will wait synchronously until the call returns. So, Armi supports both synchronous and asynchronous calls. Alternatively, you can register a listener on on a ReturnValue. The listener will be called with the returned value automatically (on another thread) whenever the server method invocation is complete.
Armi does not use serialization for object parameters. Serialization is expensive and produces large outputs for small amounts of input data. Instead, Armi handles built-in types with a compact binary form, and your objects can implement the DataStreamable interface if you want to copy them over the network as method parameters or return values. Armi shared objects are transfered over the network as stubs.
Download
See http://sourceforge.net/projects/armi. We strongly recommend using the latest from CVS.
More information
See the list of pages in the SideBar to the right. In particular, look at the QuickStart, ExampleCode and ArmiBeginnersManual. For the full list of usage documentation, see FullDocumentation.
Comments (0)
You don't have permission to comment on this page.