package mil.navy.nps.testing; import java.text.*; // for class DecimalFormat import java.util.*; // for class Vector import mil.navy.nps.dis.*; // for class EntityStatePdu import mil.navy.nps.util.*; import mil.navy.nps.disEnumerations.*; import mil.navy.nps.relate.*; import java.io.*; //==================================================================== // read me // // please run the PduTestListener in a separate console window so it can // receive the PDU from the SignalPduSender or any other PDU Tester // //usage c:> java mil.navy.nps.testing.SignalPDUTester //==================================================================== public class SignalPduSender { private BehaviorStreamBufferUDP behaviorStreamBufferUDP; // tie in to the network private String ipAddress; private int portNumber; private short idNum; private static int timeToLive = 15; // default ttl convention is local campus private boolean rtpHeaderEnabled = false; private static SignalPdu signal; //==================================================================== public SignalPduSender( ) { // instantiate a BehaviorStreamBufferUDP to handle the network interface, instantiate with // the multicast IP address and port ipAddress = "224.2.181.145"; portNumber = 62040; behaviorStreamBufferUDP = new BehaviorStreamBufferUDP(ipAddress, portNumber); behaviorStreamBufferUDP.setTimeToLive (timeToLive); short[] entityID = new short[3];// create entity id triplet for espdu & fire pdu entityID[0] = 14; //siteNum entityID[1] = 17; //appNum entityID[2] = 9; //id signal = new SignalPdu(); signal.setRtpHeaderEnabled(rtpHeaderEnabled); signal.setEntityID(new EntityID(entityID[0], entityID[1], entityID[2])); // 3 field (site,app,enity) 16-bit unsigned integer signal.setRadioID(new UnsignedShort(77)); // 16-bit unsigned integer signal.setEncodingScheme(new UnsignedShort(50)); // 16-bit enumeration signal.setTdlType(new UnsignedShort(55)); // 16-bit enumeration signal.setSampleRate(new UnsignedInt(888)); // 32-bit integer signal.setDataLength(new UnsignedShort(357)); // 16-bit integer signal.setSamples(new UnsignedShort(411)); // 16-bit integer signal.setData00(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData01(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData02(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData03(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData04(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData05(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData06(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData07(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData08(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData09(new UnsignedByte(4)); // 8-bit unsigned integer signal.setData10(new UnsignedByte(4)); // 8-bit unsigned integer } //==================================================================== public void send() { System.out.println(); System.out.println("Sending the Signal PDU"); System.out.println(); behaviorStreamBufferUDP.sendPdu(signal, ipAddress, portNumber); // send pdu } //===================================================================== // Main //===================================================================== public static void main(String[] args) { SignalPduSender test = new SignalPduSender (); test.send (); } // end main } // end SignalPduSender.java