JRMS is a set of Java libraries for building multicast applications. It was developed by Sun Microsystems Laboratories.
This release of JRMS has been tested on Solaris 2.5.1, 2.6, and 2.7, and Windows NT 4.0. It is 100% Pure Java, and is compatible with any platform that supports Java 2.
If you want to jump right in, add the classes.jar file to your CLASSPATH and try running the SlingerSwing sample application.
This release consists of the following directories and files:
classes.jar JRMSUsageGuide.html README.html javadoc LICENSE.TXT src
The javadoc directory includes all of the java API html files. The license terms you agreed to are in LICENSE.TXT. The src directory contains all of the sources and a top level Makefile.
The classes.jar file contains all of the Java class files. Copy this file to all systems on which you want to run JRMS applications and add the classes.jar and its directory path to your CLASSPATH environment variable.
The best way to get started with JRMS is to read the Quick Guide to Writing JRMS Applications. More detailed information can be found in the JRMS documents.
To build the code, be sure that you have paths to your JDK and JCE in your CLASSPATH. Also add the jrms1.1/classes directory to the CLASSPATH. This directory is automatically built when you build JRMS. Then, from the src directory, type 'make'.
Change directory to jrms1.1/src/reliable/sample_code/slingerSwing. The SlingerSwing program requires that the images directory be in the current the directory. The application is then started with the command:
% java com.sun.multicast.reliable.applications.slinger.SlingerSwing
Start up a few copies of this application (on one machine or several). The information to control the application can be entered manually through the user interface or from a configuration file listed in slgrconf.ini.
Copy this configuration file to each of the systems running the application. Load the file with the "Load All Settings from the Configuration File" button on the Configuration screen. The sample configuration file will send the file /tmp/test.txt on the multicast address 224.25.25.9 and port 4321. This information is advertised to receivers as slingerChannel99 for the slingerApplication. Set one of the applications to be the sender and the others to be receivers.
The channel and application names must be the same on both the sender and the receivers. Receivers must enter the directory where files being transferred are to be written. Receivers must specify a "Wait time" for listening for the advertisement from the sender for this application. 300 seconds is a typical value for "Wait Time".
Once the sender and receivers are configured, click the "Receive File(s)" button on the receivers, then the "Send File(s)" button on the sender. After the initial handshake and delay, the file specified at the sender is transferred to all receivers.
# slingerProperties.cfg slinger.address = 224.25.25.9 slinger.application = slingerApplication slinger.channel = slingerChannel99 slinger.delay = 30 slinger.linger = 30 slinger.port = 4321 slinger.receive = /home/temp slinger.send = /tmp/test.txt slinger.speed = 25000 slinger.transport = TRAM slinger.ttl = 1 slinger.uport = 4322 slinger.verbose = false slinger.wait = 300
With the assistance of Tie Liao of Inria, this version of JRMS includes support for the Light-weight Reliable Multicast Protocol (LRMP). This protocol supports multiple senders on a single multicast address. For more information about LRMP, see the LRMP web site. To use LRMP in JRMS, see the javadoc for classes in the package com.sun.multicast.reliable.transport.lrmp .
This release includes version 1.4.2 of LRMP.
/* * COPYRIGHT 1995 BY: MASSACHUSETTS INSTITUTE OF TECHNOLOGY (MIT), INRIA * This W3C software is being provided by the copyright holders under the * following license. By obtaining, using and/or copying this software, you * agree that you have read, understood, and will comply with the following * terms and conditions: * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee or royalty is hereby granted, * provided that the full text of this NOTICE appears on ALL copies of the * software and documentation or portions thereof, including modifications, * that you make. * * THIS SOFTWARE IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT * NOT LIMITATION, COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES OF * MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE * SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, * COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL BEAR NO * LIABILITY FOR ANY USE OF THIS SOFTWARE OR DOCUMENTATION. * * The name and trademarks of copyright holders may NOT be used in advertising * or publicity pertaining to the software without specific, written prior * permission. Title to copyright in this software and any associated * documentation will at all times remain with copyright holders. */