###############################################################################
#                             MulticastTest v.1.0                             #
#                                                                             #
#                 (C) 2003 - Mikkel Troest <mikkel@troest.dk>                 #
###############################################################################
#                                                                             #
# Contents of the zip-file:                                                   #
#   readme.txt            (this file)                                         #
#   MulticastTest.jar     (the application)                                   #
#   MulticastTest.cmd     (command line script to run the application)        #
#                                                                             #
###############################################################################
#                                                                             #
# System requirements:                                                        #
#   A JAVA<tm> runtime environment:                                           #
#   This application was developed using                                      #
#   SUN Microsystems' JDK version 1.4.2_01                                    #
#   It has been tested on version 1.3.1 as well, and it should also run on    #
#   version 1.2, but not on any earlier versions of the JAVA<tm> runtime.     # 
#                                                                             #
#   Your system also needs to have a network interface card (NIC) installed.  #
#   Your system should also be connected to a network where                   #
#   IP multicast is applicable, or this application won't do you any good.    #
#                                                                             #
#   For more information about IP multicast, see:                             #
#   http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ipmulti.htm      #
#                                                                             #
###############################################################################
#                                                                             #
# Program description:                                                        #
#   This program allows the user to test IP multicast connectivity and        #
#   behaviour in his/her network environment.                                 #
#   The program has two funcionalities; it can send data to a multicast       #
#   group, and it can join a multicast group and receive data destined        #
#   for that group.                                                           #
#                                                                             #
###############################################################################
#                                                                             #
# Runnig the program:                                                         #
#   To start the program do one of the follwing:                              #
#     Execute the script "MulticastTest.cmd"                                  #
#     type "java -jar MulticastTest.jar" (no quotes) in a command prompt      #
#     type "javaw -jar MulticastTest.jar" (no quotes) in a command prompt     #
#   For the first option the cmd file and the jar file must be in the same    #
#   directory.                                                                #
#   For the two last options, the command must be entered from the directory  #
#   where the jar file resides.                                               #
#                                                                             #
#   Alternatively, you can add the jar file to your %classpath% environment   #
#   variable, and enter one of the following in a prompt anywhere:            #
#     "java dk.mikkle.network.ip.multicast.MulticastTest"                     #
#     "javaw dk.mikkle.network.ip.multicast.MulticastTest"                    #
#  Again, no quotes in the command lines.                                     #
#                                                                             #
###############################################################################
#                                                                             #
# Usage:                                                                      #
#   The program is quite self-explanatory: To listen to a multicast group,    #
#   simply enter the desired IP multicast group and port, select "Receive",   #
#   and press "Go!".                                                          #
#   To send data to a group, enter the desired IP multicast group and port,   #
#   select "Send". Now, optionally, change Packet size, Packets pr. second    #
#   and TTL to reflect your needs, and then press "Go!"                       #
#   The program can send and receive simultaneously, and it can send and      #
#   receive on different groups.                                              #
#                                                                             #
###############################################################################
#                                                                             #
# Limitations:                                                                #
#   The maximum TTL for sending is 16.                                        #
#   This is because most people don't need their multicast traffic to travel  #
#   any further, and because it guaranties to keep the traffic within a       #
#   manageable scope.                                                         #
#                                                                             #
###############################################################################
#                                                                             #
# Known problems:                                                             #
#   If more than one NIC is installed on the system, the program defaults to  #
#   the first NIC detected both for sending and receiving.                    #
#   The quick and dirty workaround for this is to disable the NIC that is not #
#   relevant for the testing.                                                 #
#   This problem will be addressed in a future release by allowing the user   #
#   to manually select the relevant NIC.                                      #
#                                                                             #
#   The program can't send more than approximately 100 packets pr. second.    #
#   This is due to the inherent timer inaccuracy in the JAVA<tm> platform.    #
#   The timer accuracy is ca. 10 ms. on Microsoft Windows<tm> platforms.      #
#   Rumours have it, that the timer is much more accurate on the Linux        #
#   implementation of the JAVA<tm> platform.                                  #
#   This problem may be addressed in a future release, but it means           #
#   interfacing to a native high-res timer through JNI... :-|                 #
#                                                                             #
#   In certain environments with certain screen resolutions, the GUI might    #
#   look messy; components clipping each other and stuff like that.           #
#   This will be addressed in a future release, by implementing a robust      #
#   GridbagLayout.                                                            #
#                                                                             #
###############################################################################
#                                                                             #
# Background:                                                                 #
#   In my work as a network specialist I have to deal with quite a lot of     #
#   weird network behaviour. One such experience was that some multicast      #
#   applications seemed to perform ok, while others did not, or didn't        #
#   perform at all.                                                           #
#   To be able to get to the bottom of this problem, I needed something that  #
#   could generate multicast traffic, and something that could tell me if any #
#   traffic made it through the network at all.                               #
#   I searched the web, but didn't find anything that suited my needs...      #
#   Being a hobby JAVA<tm> programmer, I thought "Well, hey! Why don't I make #
#   my own test tool?"                                                        #
#   Well, it took a couple of late nights, and gained me an extra couple of   #
#   gray hairs, but I got it done, and it actually did help me solve my       #
#   problem! :O)                                                              #
#   The next obvious step was to release it on the Net - you never know if it #
#   could help someone else out there...                                      #
#   Here you are! Happy Multicasting!                                         #
#                                                                             #
#   :O) Mikkle <mikkel@troest.dk>                                             #
#                                                                             #
###############################################################################
#                                                                             #
# License, copyright, and stuff:                                              #
#   This program, "MulticastTest" is Copyright 2003 - Mikkel Troest           #
#                                                                             #
#   This program is absolutely free!                                          #
#   - I would, however, be very grateful to receive an e-mail from any users, #
#   just to be notified if people actually use this program!!!                #
#                                                                             #
#   Anyone can distribute the program, as long as it is done free of charge,  #
#   and as long as the program is distributed in its original form!           #
#   At the very least, such a distribution must include the present file!     #
#   Please do NOT extract any funcionality from the program for use in other  #
#   applications. Instead, you should contact the author, and he will         #
#   happily supply you with the code snippet you need! ;-)                    #
#                                                                             #
#   The nice logo is courtesy of "Alien Entity" http://www.entity.cc          #
#   and is used in this program with the consent of the creator.              #
#   Thank you very much, Entity! :O)                                          #
#                                                                             #
#   "JAVA<tm>" is a registered trademark of "Sun Microsystems"                #
#   "Microsoft Windows" is a registered trademark of "Microsoft Corporation"  #
#   "Linux" is a registered trademark of "Linus Torvalds"                     #
#                                                                             #
#   If I forgot anything or anyone: "Sorry, guys!"                            #
#   Let me know, and I will include you and/or your property in the copyright #
#   section, or remove any reference to you and/or yours along with any       #
#   components involved.                                                      #
#                                                                             #
###############################################################################
#                                                                             #
# For the latest version and information about the program, see:              #
# www.mikkle.dk/multicasttest                                                 #
#                                                                             #
###############################################################################