From 3ac1de3cee6a1a427cb4023a7e42dbde195620a5 Mon Sep 17 00:00:00 2001 From: brutzman <brutzman@DESKTOP-2S09UKA> Date: Mon, 1 Jul 2019 08:10:07 -0700 Subject: [PATCH] move earlier duplicates to archive location --- .../LoeffelmanSeversonDISImageReceiver.java | 122 --------- .../LoeffelmanSeversonDISImageSender.java | 252 ------------------ .../Projects/LoeffelmanSeverson/ReadMe.txt | 8 - 3 files changed, 382 deletions(-) delete mode 100644 deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageReceiver.java delete mode 100644 deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageSender.java delete mode 100644 deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/ReadMe.txt diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageReceiver.java b/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageReceiver.java deleted file mode 100644 index 7b3e3b48c3..0000000000 --- a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageReceiver.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package MV3500Cohort2018JulySeptember.Projects.LoeffelmanSeverson; - -import edu.nps.moves.dis.CommentPdu; -import edu.nps.moves.dis.EntityID; -import edu.nps.moves.dis.EntityStatePdu; -import edu.nps.moves.dis.Pdu; -import edu.nps.moves.dis.OneByteChunk; -import edu.nps.moves.dis.VariableDatum; -import edu.nps.moves.dis.Vector3Double; -import edu.nps.moves.disutil.PduFactory; -import java.awt.Image; -import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.InetAddress; -import java.net.MulticastSocket; -import java.util.Iterator; -import java.util.List; -import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JFrame; -import javax.swing.JLabel; -import edu.nps.moves.disenum.PduType; -import java.util.ArrayList; - -/** - * - * @author garrettloeffelman - */ -public class LoeffelmanSeversonDISImageReceiver { - - public static final int MULTICAST_PORT = 3000; - public static final String MULTICAST_GROUP = "239.1.2.15"; - public static final boolean USE_FAST_ESPDU = false; - - public static void main(String args[]) - { - Image image = null; - PduFactory factory; - MulticastSocket socket = null; - InetAddress address = null; - DatagramPacket packet; - - try - { - System.setProperty("java.net.preferIPv4Stack", "true"); - System.out.println("DisExamples.PduReceiver started..."); - socket = new MulticastSocket (MULTICAST_PORT); - address = InetAddress.getByName(MULTICAST_GROUP); - socket.joinGroup(address); - - factory = new PduFactory(); - - while (true) // Loop infinitely, receiving datagrams - { - byte buffer[] = new byte[100000]; // typical MTU size - - packet = new DatagramPacket(buffer, buffer.length); // reset - - socket.receive(packet); - - Pdu pdu = factory.createPdu (packet.getData()); - if (pdu != null) - { - short pduType = pdu.getPduType(); - String pduTypeName = pdu.getClass().getName(); - short protocolFamily = pdu.getProtocolFamily(); // TODO get string enumeration - - if(pdu.getPduTypeEnum() == PduType.COMMENT){ - CommentPdu cPdu = (CommentPdu)pdu; - ArrayList<VariableDatum> payload = (ArrayList)cPdu.getVariableDatums(); - VariableDatum payloadWrapper = payload.get(0); - ArrayList<OneByteChunk> oBC = (ArrayList)payloadWrapper.getVariableData(); - - byte[] imageByte = new byte[100000]; - - for(int i = 0; i < oBC.size(); i++){ - imageByte[i] = oBC.get(i).getOtherParameters()[0]; - } - - ByteArrayInputStream bais = new ByteArrayInputStream(imageByte); - BufferedImage bimage = ImageIO.read(bais); - image = bimage; - JFrame frame = new JFrame(); - frame.setSize(300, 300); - JLabel label = new JLabel(new ImageIcon(image)); - frame.add(label); - frame.setVisible(true); - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - } - - - StringBuilder message = new StringBuilder(); - message.append("received DIS PDU: "); - message.append("pduType "); - if (pduType < 10) - message.append(" "); - message.append(pduType).append(" ").append(pduTypeName); - message.append(", protocolFamily=").append(protocolFamily); - System.out.println(message.toString()); - } - else System.out.println("received packet but pdu is null, packet.getData().length=" + packet.getData().length + ", error..."); - - } - } - catch (IOException e) - { - System.out.println("Problem with DisExamples.PduReceiver, see exception trace:"); - System.out.println(e); - } - finally - { - System.out.println("DisExamples.PduReceiver complete."); - } - } -} diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageSender.java b/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageSender.java deleted file mode 100644 index 8aa71f254d..0000000000 --- a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/LoeffelmanSeversonDISImageSender.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package MV3500Cohort2018JulySeptember.Projects.LoeffelmanSeverson; - -import edu.nps.moves.dis.AcknowledgePdu; -import edu.nps.moves.dis.ActionRequestPdu; -import edu.nps.moves.dis.CollisionPdu; -import edu.nps.moves.dis.CommentPdu; -import edu.nps.moves.dis.CreateEntityPdu; -import edu.nps.moves.dis.DetonationPdu; -import edu.nps.moves.dis.EntityID; -import edu.nps.moves.dis.EntityStatePdu; -import edu.nps.moves.dis.EntityType; -import edu.nps.moves.dis.FirePdu; -import edu.nps.moves.dis.Pdu; -import edu.nps.moves.dis.VariableDatum; -import edu.nps.moves.dis.RemoveEntityPdu; -import edu.nps.moves.dis.RepairCompletePdu; -import edu.nps.moves.dis.RepairResponsePdu; -import edu.nps.moves.dis.ResupplyCancelPdu; -import edu.nps.moves.dis.ResupplyOfferPdu; -import edu.nps.moves.dis.ResupplyReceivedPdu; -import edu.nps.moves.dis.ServiceRequestPdu; -import edu.nps.moves.dis.StartResumePdu; -import edu.nps.moves.dis.StopFreezePdu; -import edu.nps.moves.dis.Vector3Double; -import edu.nps.moves.disenum.PduType; -import edu.nps.moves.disutil.CoordinateConversions; -import edu.nps.moves.disutil.DisTime; -import edu.nps.moves.dis.OneByteChunk; -import edu.nps.moves.examples.ClassNameComparator; -import java.awt.image.BufferedImage; -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.InetAddress; -import java.net.InterfaceAddress; -import java.net.MalformedURLException; -import java.net.MulticastSocket; -import java.net.NetworkInterface; -import java.net.SocketException; -import java.net.URL; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Properties; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.imageio.ImageIO; - -/** - * - * @author garrettloeffelman - */ -public class LoeffelmanSeversonDISImageSender { - - /** Default multicast group address we send on. */ - public static final String DEFAULT_MULTICAST_ADDRESS = "239.1.2.15"; - - /** Default multicast port used, matches Wire-shark DIS capture default */ - public static final int DEFAULT_MULTICAST_PORT = 3000; - - private int port; - InetAddress multicastAddress; - - public LoeffelmanSeversonDISImageSender (int port, String multicast) { - try - { - System.setProperty("java.net.preferIPv4Stack", "true"); - this.port = port; - multicastAddress = InetAddress.getByName(multicast); - if (!multicastAddress.isMulticastAddress()) - { - System.out.println("Not a multicast address: " + multicast); - } - } - catch (UnknownHostException e) { - System.out.println("Unable to open socket: " + e); - } - } - - public void run() - { - System.out.println("DisExamples.PduSender started..."); - try { - URL url1 = new URL("https://cdn1.iconfinder.com/data/icons/cute-monkey-emoticon/595/MONKEY_EMOTICON-05-512.png"); - URL url2 = new URL("https://images.all-free-download.com/images/graphicthumb/yammi_banana_99225.jpg"); - List<Pdu> generatedPdus = new ArrayList<>(); - - // Loop through all the enumerated PDU types, create a PDU for each type, - // and add that PDU to a list. - for (PduType pdu : PduType.values()) { - Pdu aPdu = null; - - switch (pdu) // using enumeration values from edu.nps.moves.disenum.* - { - case ENTITY_STATE: - aPdu = new EntityStatePdu(); - break; - - case COMMENT: - aPdu = new CommentPdu(); - CommentPdu cPdu = (CommentPdu)aPdu; - BufferedImage image = ImageIO.read(url1); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ImageIO.write(image, "png", baos); - byte[] buffer; - buffer = baos.toByteArray(); - ArrayList<VariableDatum> payload = new ArrayList<VariableDatum>(); - ArrayList<OneByteChunk> payloadWrapper = new ArrayList<OneByteChunk>(); - VariableDatum variableDatum = new VariableDatum(); - for(int i = 0; i < buffer.length; i++){ - OneByteChunk oBC = new OneByteChunk(); - byte[] oneBite = new byte[1]; - oneBite[0] = buffer[i]; - oBC.setOtherParameters(oneBite); - payloadWrapper.add(oBC); - } - System.out.println("Sending Picture"); - - variableDatum.setVariableData(payloadWrapper); - - payload.add(variableDatum); - cPdu.setVariableDatums(payload); - break; - - case FIRE: - aPdu = new FirePdu(); - break; - - case DETONATION: - aPdu = new DetonationPdu(); - break; - - case COLLISION: - aPdu = new CollisionPdu(); - break; - - case SERVICE_REQUEST: - aPdu = new ServiceRequestPdu(); - break; - - case RESUPPLY_OFFER: - aPdu = new ResupplyOfferPdu(); - break; - - case RESUPPLY_RECEIVED: - aPdu = new ResupplyReceivedPdu(); - break; - - case RESUPPLY_CANCEL: - aPdu = new ResupplyCancelPdu(); - break; - - case REPAIR_COMPLETE: - aPdu = new RepairCompletePdu(); - break; - - case REPAIR_RESPONSE: - aPdu = new RepairResponsePdu(); - break; - - case CREATE_ENTITY: - aPdu = new CreateEntityPdu(); - break; - - case REMOVE_ENTITY: - aPdu = new RemoveEntityPdu(); - break; - - case START_RESUME: - aPdu = new StartResumePdu(); - break; - - case STOP_FREEZE: - aPdu = new StopFreezePdu(); - break; - - case ACKNOWLEDGE: - aPdu = new AcknowledgePdu(); - break; - - case ACTION_REQUEST: - aPdu = new ActionRequestPdu(); - break; - - default: - System.out.print("PDU of type " + pdu + " not supported, created or sent "); - System.out.println(); - } - if (aPdu != null) - { - generatedPdus.add(aPdu); - } - } - - // Sort the created PDUs by class name - Collections.sort(generatedPdus, new ClassNameComparator()); - - // Send the PDUs we created - InetAddress localMulticastAddress = InetAddress.getByName(DEFAULT_MULTICAST_ADDRESS); - MulticastSocket socket = new MulticastSocket(DEFAULT_MULTICAST_PORT); - socket.joinGroup(localMulticastAddress); - - for (int idx = 0; idx < generatedPdus.size(); idx++) - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - DataOutputStream dos = new DataOutputStream(baos); - byte[] buffer; - - Pdu aPdu = generatedPdus.get(idx); - - aPdu.marshal(dos); - - buffer = baos.toByteArray(); - DatagramPacket packet = new DatagramPacket(buffer, buffer.length, localMulticastAddress, DEFAULT_MULTICAST_PORT); - socket.send(packet); - System.out.println("Sent PDU of type " + aPdu.getClass().getName()); - } - // write the PDUs out to an XML file. - //PduContainer container = new PduContainer(); - //container.setPdus(generatedPdus); - //container.marshallToXml("examplePdus.xml"); - } catch (IOException e) - { - System.out.println(e); - } - } - - public static void main(String args[]) - { - if (args.length == 2) { - LoeffelmanSeversonDISImageSender sender = new LoeffelmanSeversonDISImageSender(Integer.parseInt(args[0]), args[1]); - sender.run(); - } else { - System.out.println("Usage: PduSender <port> <multicast group>"); - System.out.println("Default: PduSender " + DEFAULT_MULTICAST_PORT + " " + DEFAULT_MULTICAST_ADDRESS); - LoeffelmanSeversonDISImageSender sender = new LoeffelmanSeversonDISImageSender(DEFAULT_MULTICAST_PORT, DEFAULT_MULTICAST_ADDRESS); - sender.run(); - } - } -} diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/ReadMe.txt b/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/ReadMe.txt deleted file mode 100644 index 480cc9e102..0000000000 --- a/deliverables/src/MV3500Cohort2018JulySeptember/Projects/LoeffelmanSeverson/ReadMe.txt +++ /dev/null @@ -1,8 +0,0 @@ -To run this program run the receiver first, and then run the sender. - -The Sender will send a picture specified by the URL at the top of the try block - -You can change the url to a different image, but keep in mind the image must be smaller then - -100,000 bytes or 100 kb. - -- GitLab