diff --git a/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieReceiver.java b/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieReceiver.java index 2690a1c01f56a15f523985188881c8a82cdd6a7c..02b4a19ac705628714942b287e526375bf83217a 100644 --- a/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieReceiver.java +++ b/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieReceiver.java @@ -9,7 +9,7 @@ import edu.nps.moves.dis.VariableDatum; import edu.nps.moves.disenum.PduType; import edu.nps.moves.disutil.PduFactory; import java.io.ByteArrayInputStream; -import java.io.DataInputStream; +import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; @@ -60,7 +60,8 @@ public class McneelyLeckieReceiver { multicastSocket.joinGroup(multicastAddress); // You can join multiple groups here*/ System.setProperty("java.net.preferIPv4Stack", "true"); - System.out.println("DisExamples.PduReceiver started..."); + System.out.println("DisExamples.PduReceiver started... ORDER RECIEVED!"); + MulticastSocket socket = new MulticastSocket (MULTICAST_PORT); InetAddress address = InetAddress.getByName(MULTICAST_GROUP); socket.joinGroup(address); @@ -68,10 +69,8 @@ public class McneelyLeckieReceiver { factory = new PduFactory(); int count = 0; - int secondNumber = 67; - int thirdNumber = 108; - int forkliftsAvail = 12; - int forkliftsServ = 0; + int partsAvail = 6; + int partsSent = 0; while(true) { @@ -114,27 +113,30 @@ public class McneelyLeckieReceiver { } count++; - if(count > 1){ - forkliftsAvail-=1; - forkliftsServ+=1; + if(count >= 1){ + partsAvail-=1; + partsSent+=1; } System.out.println("Marine Aircraft Logistics Squadron 29: Wolverines!"); - System.out.println("Order received: " + count + " NSN ID: 1874542689" + " Xrow: " + secondNumber + " Yshelf: "+ thirdNumber + - " Forklifts Availble: " + forkliftsAvail + " Forklifts in Service: " +forkliftsServ); - System.out.println("______________________________________________________"); + System.out.println("Status Update: " + count + " NSN ID: 1874542689"); + StringBuilder message = new StringBuilder(); message.append("received DIS PDU: "); + message.append("pduType "); - if (pduType <= 10) + if (pduType <= 1500) { 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..."); - + + } + else System.out.println("received packet but pdu is null, packet.getData().length=" + packet.getData().length + ", error..."); + System.out.println("______________________________________________________"); + ByteArrayInputStream bais = new ByteArrayInputStream(packet.getData()); - DataInputStream dis = new DataInputStream(bais); +// DataInputStream dis = new DataInputStream(bais); //float firstNumber = dis.readInt(); //float secondNumber = dis.readInt(); //float thirdNumber = dis.readInt(); @@ -142,7 +144,7 @@ public class McneelyLeckieReceiver { } } - catch(Exception e) + catch(IOException e) { System.out.println(e); } diff --git a/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieSender.java b/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieSender.java index 692c1403939d076e16d618a500f0b54a7b57a15f..366991a8232159603e1b2a2b5ddfd331e7af35ae 100644 --- a/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieSender.java +++ b/assignments/src/MV3500Cohort2021JulySeptember/projects/McneelyLeckieProject/McneelyLeckieSender.java @@ -1,25 +1,15 @@ package MV3500Cohort2021JulySeptember.projects.McneelyLeckieProject; -import edu.nps.moves.dis.AcknowledgePdu; -import edu.nps.moves.dis.ActionRequestPdu; import edu.nps.moves.dis.CommentPdu; -import edu.nps.moves.dis.CreateEntityPdu; import edu.nps.moves.dis.EntityStatePdu; import edu.nps.moves.dis.OneByteChunk; import edu.nps.moves.dis.Pdu; -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.VariableDatum; import edu.nps.moves.disenum.PduType; -import edu.nps.moves.examples.ClassNameComparator; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; @@ -28,7 +18,6 @@ import java.net.InetAddress; import java.net.MulticastSocket; import java.net.UnknownHostException; import java.util.ArrayList; -import java.util.Collections; import java.util.List; @@ -118,16 +107,16 @@ public class McneelyLeckieSender { byte[] buffer; buffer = baos.toByteArray(); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, multicastAddress, DESTINATION_PORT); - System.out.println("Sending Request"); - for(int idx = 0; idx < 12; idx++) +// System.out.println("Sending Request"); + for(int idx = 0; idx <= 6; idx++) { multicastSocket.send(packet); - //Thread.sleep(1000); // Send 100, one per second +// Thread.sleep(2000); // Send 100, one per second System.out.println("Sending Request"); - System.out.println("Sent multicast DIS PDU packet " + idx + " of 12"); + System.out.println("Sent multicast DIS PDU packet " + idx + " of 6"); } - ArrayList<VariableDatum> payload = new ArrayList<VariableDatum>(); - ArrayList<OneByteChunk> payloadWrapper = new ArrayList<OneByteChunk>(); + ArrayList<VariableDatum> payload = new ArrayList<>(); + ArrayList<OneByteChunk> payloadWrapper = new ArrayList<>(); VariableDatum variableDatum = new VariableDatum(); @@ -138,18 +127,6 @@ public class McneelyLeckieSender { 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; @@ -162,42 +139,6 @@ public class McneelyLeckieSender { 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(); @@ -209,7 +150,8 @@ public class McneelyLeckieSender { } // Sort the created PDUs by class name - Collections.sort(generatedPdus, new ClassNameComparator()); +// Collections.sort(generatedPdus, new ClassNameComparator()); + // Send the PDUs we created InetAddress localMulticastAddress = InetAddress.getByName(DEFAULT_MULTICAST_ADDRESS);