1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
================= NORM Java API Examples =================
This directory contains some purposely simplified examples of NORM
Java API usage. See comments below on how to build and run these on
Unix platforms. Eventually, "build.xml" will be provided.
The following example programs are included:
(These two programs use a hard-coded multicast address and port,
but take a file name and directory name, respectively, as a
command-line argument to determine the file sent and the directory
to which receive files are stored.)
NormFileSend.java - simple file transmission program. Sends one
file. The address is 224.1.2.3:6003.
NormFileRecv.java - simple file reception program. Receives one
file. The address is 224.1.2.3:6003.
NormFileSendRecv.java - One application that sends a file to itself.
The address is 224.1.2.3:6003.
NormStreamSend.java - This is an example of writing to a NORM stream.
It reads from STDIN and writes to the
stream. Specify the stream address on the command
line or use the default address, 224.1.2.3:6003.
Enable congestion control by setting the Java
system property Norm.CC to "on"
(i.e. -DNorm.CC=on).
NormStreamRecv.java - This is an example of reading from a NORM
stream. It writes to STDOUT and writes from the
stream. Specify the stream address on the command
line or use the default address, 224.1.2.3:6003.
COMPILING THE Java API EXAMPLES
After you build the JNI and the Norm Java jar file, you can compile
the examples in this directory all at one go:
javac -cp ../../lib/norm-1.0.0.jar *.java
RUNNING THE Java API EXAMPLES
You can use the shell scripts supplied to run the similarly named
example programs.
filesend.sh - Run NormFileSend
filerecv.sh - Run NormFileRecv
streamsend.sh - Run NormStreamSend
streamrecv.sh - Run NormStreamRecv
Alternatively, you can run any example program by invoking java. You
must define the system property java.library.path and set the
classpath so that java can find the norm jar file as well as the local
classes. For example, to run NormStreamSend:
java -Djava.library.path=../../lib -cp .:../../lib/norm-1.0.0.jar NormStreamSend
NOTE ABOUT NormStreamSend
NormStreamSend supports NORM's TCP-friendly congestion control.
Enable that by setting the system property Norm.CC to "on". You can
do that in streamsend.sh or you can do that on the command line:
java -DNorm.CC=on -Djava.library.path=../../lib -cp .:../../lib/norm-1.0.0.jar NormStreamSend
|