Skip to content
Snippets Groups Projects
AngelBlankEspduSenderA.java 9.13 KiB
package MV3500Cohort2018JanuaryMarch.projects.AngelopoulosBlankenbeker;


import java.io.*;
import java.net.*;
import java.util.*;

import edu.nps.moves.dis.*; // OpenDIS version 4
import edu.nps.moves.disutil.CoordinateConversions;
import edu.nps.moves.disutil.DisTime;

/**
 * Emits PDUs from the network in IEEE format.
 *
 * @author Angelopoulos/Blankenbeker
 * @version 8 MAR 2018
 */
public class AngelBlankEspduSenderA 
{
    /**
     * Default constructor to silence javadoc warning
     * @see <a href="https://stackoverflow.com/questions/4488716/java-default-constructor">StackOverflow: Java default constructor</a>
     */
    public AngelBlankEspduSenderA ()
    {
        // default initializations occur
    }
    static final int NUMBER_TO_SEND = 5000;

    /** Type of network connection */
	public enum NetworkMode {
        /** Unicast network mode
         * @see <a href="https://en.wikipedia.org/wiki/Unicast">https://en.wikipedia.org/wiki/Unicast</a> */
		UNICAST,
        /** Multicast network mode
         * @see <a href="https://en.wikipedia.org/wiki/Multicast">https://en.wikipedia.org/wiki/Multicast</a> */
        MULTICAST,
        /** Broadcast network mode
         * @see <a href="https://en.wikipedia.org/wiki/Broadcasting_(networking)">https://en.wikipedia.org/wiki/Broadcasting_(networking)</a> */
        BROADCAST
	};

    /** default multicast group we send on */
    public static final String DEFAULT_MULTICAST_GROUP="239.1.2.4";
   
    /** Port we send on */
    public static final int DIS_DESTINATION_PORT = 3000;
    
/** Possible system properties, passed in via -Dattr=val
     * networkMode: unicast, broadcast, multicast
     * destinationIp: where to send the packet. If in multicast mode, this can be mcast.
     *                To determine bcast destination IP, use an online bcast address
     *                caclulator, for example http://www.remotemonitoringsystems.ca/broadcast.php
     *                If in mcast mode, a join() will be done on the mcast address.
     * port: port used for both source and destination.
     * @param args command-line arguments 
     */
    @SuppressWarnings("deprecation")
    public static void main(String args[])
{
    /** an entity state pdu */
    EntityStatePdu espdu = new EntityStatePdu();
    MulticastSocket socket = null;
    DisTime disTime = DisTime.getInstance();
    int alternator = -1;
    // ICBM coordinates for my office
    double lat = 36.595517; 
    double lon = -121.877000;
    int port = DIS_DESTINATION_PORT;
    NetworkMode mode = NetworkMode.MULTICAST;