The hostname and port will of course depend on the local setup. The host must be running an rmiregistry
process and have a RemoteImageServer listening at the desired port.
This call will result in the creation of a server-side JAIRMIImageServer object and a client-side stub object. The client stub serializes its method arguments and transfers them to the server over a socket; the server serializes it return values and returns them in the same manner.
This process implies that all arguments and return values must be serializable. In the case of a RenderedImage source, serializability is not guaranteed and must be considered on a class-by-class basis. For RenderedOps, which are basically simple nodes connected by ParameterBlocks, serializability will be determined by the serializabiility of the ultimate (non-RenderedOp) sources of the DAG and the serializability of any ad-hoc Object parameters held in the ParameterBlocks.
The return values of the getData(), copyData(), and getTile() methods are various kinds of Rasters; at present, Java2D does not define serialization on Rasters. We will either need to add this feature to Java2D or else coerce the server-side Rasters into a serializable subclass form. In any case, we will want to implement lossless (and possibly lossy) compression as part of the serialization process wherever possible. @see java.rmi.Remote @see java.rmi.RemoteException @see java.awt.image.RenderedImage
|
|
|
|