diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronEntityStatePduCreator.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronEntityStatePduCreator.java index 4d8e42a6e2f33f8249e50402cf3d46ce18df1de9..573cf30948d899722d47ab9e60300c7c4beeadb2 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronEntityStatePduCreator.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronEntityStatePduCreator.java @@ -15,7 +15,7 @@ public class BoronEntityStatePduCreator { */ public BoronEntityStatePduCreator(){} - public void newPDU(short s, ForceID fid, double [] l, float[] v, float[] o) + public EntityStatePdu newPDU(short s, ForceID fid, double [] l, float[] v, float[] o) { //Create new entity state PDU and set ID and Force ID EntityStatePdu newPdu = new EntityStatePdu(); @@ -45,7 +45,7 @@ public class BoronEntityStatePduCreator { orientation.setTheta(o[2]); newPdu.setEntityOrientation(orientation); - + return newPdu; } } diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduSender.java b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduSender.java index 2f8179fdb897c8bf960ab18293d64499fc7e6e65..a55ba33b09250f366428adbc147a22fe2d27a306 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduSender.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework4/Boron/BoronPduSender.java @@ -24,15 +24,16 @@ public class BoronPduSender public static final int DEFAULT_MULTICAST_PORT = 3000; private int port; + private Random rand; InetAddress multicastAddress; public BoronPduSender(int port, String multicast) { try - { + { this.port = port; multicastAddress = InetAddress.getByName(multicast); if (!multicastAddress.isMulticastAddress()) - { + { System.out.println("Not a multicast address: " + multicast); } } @@ -42,392 +43,83 @@ public class BoronPduSender } public void run() - { - System.out.println("DisExamplesOpenDis7.AllPduSender started..."); + { + BoronEntityStatePduCreator espduCreator = new BoronEntityStatePduCreator(); + rand = new Random(); + System.out.println("DisExamplesOpenDis7.AllPduSender started..."); + + System.out.println("Generate PDUs and note issues, if any..."); + List<Pdu> generatedPdusList = new ArrayList<>(); + + for (int i = 0; i < 3; i++) + { + + short id = (short)rand.nextInt(10000); + + double[] l = new double[] + { + rand.nextInt(10) + rand.nextDouble(), + rand.nextInt(10) + rand.nextDouble(), + rand.nextInt(10) + rand.nextDouble() + }; + float[] v = new float[] + { + rand.nextFloat(), + rand.nextFloat(), + rand.nextFloat() + }; + float[] o = new float[] + { + rand.nextFloat(), + rand.nextFloat(), + rand.nextFloat() + }; + + generatedPdusList.add(espduCreator.newPDU(id, ForceID.FRIENDLY, l, v, o)); + } + // Send the PDUs we created + System.out.println("Send the " + generatedPdusList.size() + " PDUs we created..."); try { - System.out.println("Generate PDUs and note issues, if any..."); - List<Pdu> generatedPdusList = new ArrayList<>(); - - // Loop through all the enumerated PDU types, create a PDU for each type, - // add that PDU to generatedPdusList, and send each one - for (DISPDUType pdu : DISPDUType.values()) - { -// System.out.println("PDU " + pdu.getValue() + " " + pdu.name() + " " + pdu.getDescription()); // diagnostic - - Pdu aPdu = null; // edu.​nps.​moves7.​dis.PDU superclass for all PDUs, in preparation for custom assignment - - try { - switch (pdu) // using enumeration values from edu.​nps.​moves.​dis7.​enumerations.​DISPDUType - { - case OTHER: // 0 - System.out.println ("*** Note: DISPDUType." + pdu.name() + " not supported"); // TODO why was this received? - // nothing to send - break; - - case ENTITY_STATE: // 1 - aPdu = new EntityStatePdu(); - - EntityStatePdu espdu = (EntityStatePdu) aPdu; - EntityMarking entityMarking = new EntityMarking (); - entityMarking.setCharacters("AllPduSender".getBytes()); //entityMarking.setCharacters(Byte.valueOf("0")); // 11 characters max? - - espdu.setMarking(entityMarking); - Vector3Double espduLocation = new Vector3Double(); - espduLocation.setX(1.0); - espduLocation.setY(2.0); - espduLocation.setZ(3.0); - espdu.setEntityLocation(espduLocation); - // it is important to identify questions as you think of them - // TODO how to set azimuth, i.e. course direction over ground? - break; - - case FIRE: // 2 - aPdu = new FirePdu(); - break; - - case DETONATION: // 3 - aPdu = new DetonationPdu(); - break; - - case COLLISION: // 4 - aPdu = new CollisionPdu(); - break; - - case SERVICE_REQUEST: // 5 - aPdu = new ServiceRequestPdu(); - break; - - case RESUPPLY_OFFER: // 6 - aPdu = new ResupplyOfferPdu(); - break; - - case RESUPPLY_RECEIVED: // 7 - aPdu = new ResupplyReceivedPdu(); - break; - - case RESUPPLY_CANCEL: //8 - aPdu = new ResupplyCancelPdu(); - break; - - case REPAIR_COMPLETE: // 9 - aPdu = new RepairCompletePdu(); - break; - - case REPAIR_RESPONSE: // 10 - aPdu = new RepairResponsePdu(); - break; - - case CREATE_ENTITY: // 11 - aPdu = new CreateEntityPdu(); - break; - - case REMOVE_ENTITY: // 12 - aPdu = new RemoveEntityPdu(); - break; - - case START_RESUME: // 13 - aPdu = new StartResumePdu(); - break; - - case STOP_FREEZE: // 14 - aPdu = new StopFreezePdu(); - break; - - case ACKNOWLEDGE: // 15 - aPdu = new AcknowledgePdu(); - break; - - case ACTION_REQUEST: // 16 - aPdu = new ActionRequestPdu(); - break; - - case ACTION_RESPONSE: // 17 - aPdu = new ActionResponsePdu(); - break; - - case DATA_QUERY: // 18 - aPdu = new DataQueryPdu(); - break; - - case SET_DATA: // 19 - aPdu = new SetDataPdu(); - break; - - case DATA: // 20 - aPdu = new DataPdu(); - break; - - case EVENT_REPORT: // 21 - aPdu = new EventReportPdu(); - break; - - case ELECTROMAGNETIC_EMISSION: // 23 - aPdu = new ElectromagneticEmissionPdu(); - break; - - case DESIGNATOR: // 24 - aPdu = new DesignatorPdu(); - break; - - case TRANSMITTER: // 25 - aPdu = new TransmitterPdu(); - break; - - case SIGNAL: // 26 - aPdu = new SignalPdu(); - break; - - case RECEIVER: // 27 - aPdu = new ReceiverPdu(); - break; - - case IDENTIFICATION_FRIEND_OR_FOE: // 28 - aPdu = new IdentificationFriendOrFoePdu(); - break; - - case UNDERWATER_ACOUSTIC: // 29 - aPdu = new UnderwaterAcousticPdu(); - break; - - case SUPPLEMENTAL_EMISSION_ENTITY_STATE: // 30 - aPdu = new SupplementalEmissionEntityStatePdu(); - break; - - case INTERCOM_SIGNAL: // 31 - aPdu = new IntercomSignalPdu(); - break; - - case INTERCOM_CONTROL: // 32 - aPdu = new IntercomControlPdu(); - break; - - case AGGREGATE_STATE: // 33 - aPdu = new AggregateStatePdu(); - break; - - case ISGROUPOF: // 34 - aPdu = new IsGroupOfPdu(); - break; - - case TRANSFER_OWNERSHIP: // 35 - aPdu = new TransferOwnershipPdu(); - break; - - case ISPARTOF: // 36 - aPdu = new IsPartOfPdu(); - break; - - case MINEFIELD_STATE: // 37 - aPdu = new MinefieldStatePdu(); - break; - - case MINEFIELD_QUERY: // 38 - aPdu = new MinefieldQueryPdu(); - break; - - case MINEFIELD_DATA: // 39 - aPdu = new MinefieldDataPdu(); - break; - - case MINEFIELD_RESPONSE_NACK: // 40 - aPdu = new MinefieldResponseNACKPdu(); - break; - - case ENVIRONMENTAL_PROCESS: // 41 - aPdu = new EnvironmentalProcessPdu(); - break; - - case GRIDDED_DATA: // 42 - aPdu = new GriddedDataPdu(); - break; - - case POINT_OBJECT_STATE: // 43 - aPdu = new PointObjectStatePdu(); - break; - - case LINEAR_OBJECT_STATE: // 44 - aPdu = new LinearObjectStatePdu(); - break; - - case AREAL_OBJECT_STATE: // 45 - aPdu = new ArealObjectStatePdu(); - break; - - case TIME_SPACE_POSITION_INFORMATION: // 46 - aPdu = new TimeSpacePositionInformationPdu(); - break; - - case APPEARANCE: // 47 - aPdu = new AppearancePdu(); - break; - - case ARTICULATED_PARTS: // 48 - aPdu = new ArticulatedPartsPdu(); - break; - - case LIVE_ENTITY_FIRE: // 49 - aPdu = new LiveEntityFirePdu(); - break; - - case LIVE_ENTITY_DETONATION: // 50 - aPdu = new LiveEntityDetonationPdu(); - break; - - case CREATE_ENTITY_RELIABLE: // 51 - aPdu = new CreateEntityReliablePdu(); - break; - - case REMOVE_ENTITY_RELIABLE: // 52 - aPdu = new RemoveEntityReliablePdu(); - break; - - case START_RESUME_RELIABLE: // 53 - aPdu = new StartResumeReliablePdu(); - break; - - case STOP_FREEZE_RELIABLE: // 54 - aPdu = new StopFreezeReliablePdu(); - break; - - case ACKNOWLEDGE_RELIABLE: // 55 - aPdu = new AcknowledgeReliablePdu(); - break; - - case ACTION_REQUEST_RELIABLE: // 56 - aPdu = new ActionRequestReliablePdu(); - break; - - case ACTION_RESPONSE_RELIABLE: // 57 - aPdu = new ActionResponseReliablePdu(); - break; - - case DATA_QUERY_RELIABLE: // 58 - aPdu = new DataQueryReliablePdu(); - break; - - case SET_DATA_RELIABLE: // 59 - aPdu = new SetDataReliablePdu(); - break; - - case DATA_RELIABLE: // 60 - aPdu = new DataReliablePdu(); - break; - - case EVENT_REPORT_RELIABLE: // 61 - aPdu = new EventReportReliablePdu(); - break; - - case COMMENT_RELIABLE: // 62 - aPdu = new CommentReliablePdu(); - break; - - case RECORD_RELIABLE: // 63 - aPdu = new RecordReliablePdu(); - break; - - case SET_RECORD_RELIABLE: // 64 - aPdu = new SetRecordReliablePdu(); - break; - - case RECORD_QUERY_RELIABLE: // 65 - aPdu = new RecordQueryReliablePdu(); - break; - - case COLLISION_ELASTIC: // 66 - aPdu = new CollisionElasticPdu(); - break; - - case ENTITY_STATE_UPDATE: // 67 - aPdu = new EntityStateUpdatePdu(); - break; - - case DIRECTED_ENERGY_FIRE: // 68 - aPdu = new DirectedEnergyFirePdu(); - break; - - case ENTITY_DAMAGE_STATUS: // 69 - aPdu = new EntityDamageStatusPdu(); - break; - - case INFORMATION_OPERATIONS_ACTION: // 70 - aPdu = new InformationOperationsActionPdu(); - break; - - case INFORMATION_OPERATIONS_REPORT: // 71 - aPdu = new InformationOperationsReportPdu(); - break; - - case ATTRIBUTE: // 72 - aPdu = new AttributePdu(); - break; - - case COMMENT: - aPdu = new CommentPdu(); - CommentPdu newCommentPdu = (CommentPdu)aPdu; - VariableDatum newVariableDatum = new VariableDatum(); - // etc. see Garrett and Pete's code - break; - - default: - System.out.println("*** Warning: PDU " + pdu.getValue() + " " + pdu + " not supported, created or sent "); - - // code generation block for this class follows: -// System.out.println(" case " + pdu + ": // " + pdu.getValue()); -// System.out.println(" aPdu = new " + pdu.getDescription().replace(" ","").replace("-","").replace("/","") + -// "Pdu();"); -// System.out.println(" break;"); -// System.out.println(); - } - if (aPdu != null) - { - generatedPdusList.add(aPdu); - } - } - catch (Exception e) - { - System.out.print("Exception thrown for PDU " + pdu.getValue() + " " + pdu); - System.out.print(Arrays.toString(e.getStackTrace())); - // continue looping - } - } - // Send the PDUs we created - System.out.println("Send the " + generatedPdusList.size() + " 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 < generatedPdusList.size(); idx++) - { + { + Pdu aPdu = generatedPdusList.get(0); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); byte[] buffer; - Pdu aPdu = generatedPdusList.get(idx); + //Pdu aPdu = generatedPdusList.get(idx); aPdu.marshal(dos); buffer = baos.toByteArray(); DatagramPacket packet = new DatagramPacket(buffer, buffer.length, localMulticastAddress, DEFAULT_MULTICAST_PORT); socket.send(packet); - try { + try + { Thread.sleep(100L); } catch (InterruptedException ex) { } String currentPduTypeValuePadded = String.format("%2s", aPdu.getPduType().getValue()); String currentPduTypePadded = String.format("%-34s", aPdu.getPduType()); // - indicates right padding of whitespace System.out.print ("Sent DIS PDU " + currentPduTypeValuePadded + " " + currentPduTypePadded ); - System.out.println(" of type " + aPdu.getClass().getName()); + System.out.println(" of type " + aPdu.getClass().getName()); + + generatedPdusList.remove(0); } + } + catch (IOException e) + { + System.out.println(e); + } // 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[]) diff --git a/examples/pduLog/Pdusave.dislog b/examples/pduLog/Pdusave.dislog index 81140ef3100f6aaca866bdc3497891e35851454c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/examples/pduLog/Pdusave.dislog +++ b/examples/pduLog/Pdusave.dislog @@ -1,74 +0,0 @@ -!Begin!Beginning of DIS capture file, Pdusave.dislog. -AAAAAAAAAAA=,BwABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AAAAAAAABAAAAAAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGR1U2VuZGVyAAAAAAAA -AAAAAAYnFzQ=,BwACAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAw5/E8=,BwADAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAABKCawU=,BwAEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAABiMUWQ=,BwAFAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAB6asAg=,BwAGAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAACSXtxQ=,BwAHAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAACqX8i4=,BwAIAwAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAADDRnIQ=,BwAJAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAADb3s8o=,BwAKAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAADzy22g=,BwALBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAELsRqI=,BwAMBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAEkaZQA=,BwANBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAE8Zchw=,BwAOBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAFUU0zM=,BwAPBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAA= -AAAAAFsSSvE=,BwAQBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAGE0Lkc=,BwARBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAGc7eF0=,BwASBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAG03klE=,BwATBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAHNuKsw=,BwAUBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAHl5GbY=,BwAVBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAH91lnQ=,BwAWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAIV3UWE=,BwAXBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAIuOHwY=,BwAYBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAJGdNv0=,BwAZBAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAJfnTYY=,BwAaBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAJ4RUCo=,BwAbBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAKQazdY=,BwAcBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAKoegIg=,BwAdBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAALAdxIU=,BwAeBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAALZLcJ8=,BwAfBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAALxLoN0=,BwAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAMJ9SG8=,BwAhBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAMjEzAs=,BwAiBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAM7mLcU=,BwAjBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAANThoJ8=,BwAkBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAANryOl0=,BwAlCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAOEzux4=,BwAmCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAOc9h5g=,BwAnCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAO18gEQ=,BwAoCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAPOvR4k=,BwApCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAPn3c9k=,BwAqCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAP//c20=,BwArCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAQYmvvs=,BwAsCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAQxQNCE=,BwAtCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAARKDbMU=,BwAuCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAARiLxXs=,BwAvCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAR6npnw=,BwAwCwAAAAAAAAAAAAAAAAAAAA== -AAAAASSkFmg=,BwAxCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAASrpb2I=,BwAyCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAATDlQzc=,BwAzCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAATcMq64=,BwA0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAT1C2gg=,BwA1CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAUNKcTk=,BwA2CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAUlFpjk=,BwA3CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAA= -AAAAAU97BG8=,BwA4CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAVWi3zA=,BwA5CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAVudhts=,BwA6CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAWGYUyo=,BwA7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAWeRZGM=,BwA8CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAW2UY50=,BwA9CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAXOOj50=,BwA+CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAXmm8+A=,BwA/CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAX+h584=,BwBACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAYXHvNI=,BwBBCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAYvN+fw=,BwBCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAZHltOI=,BwBDAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAZfoBJ0=,BwBEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAZ4pFTg=,BwBFAgAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAaRMhhA=,BwBGDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -AAAAAapH1Hk=,BwBHDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== -AAAAAbBCcZM=,BwBIAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6QAAAAA= -!End!End of DIS capture file, Pdusave.dislog. diff --git a/examples/src/TcpExamples/TcpExample3Server.java b/examples/src/TcpExamples/TcpExample3Server.java index 8afc2f5be3698eb50ff0350b22e7d3eb590f38fb..409a3a9281c474dd9e53ddfb773da90dcdfb68e3 100644 --- a/examples/src/TcpExamples/TcpExample3Server.java +++ b/examples/src/TcpExamples/TcpExample3Server.java @@ -44,19 +44,19 @@ public class TcpExample3Server { while (true) { // block until connected to a client - try (Socket clientConnection = serverSocket.accept()) { + try (Socket clientConnectionSocket = serverSocket.accept()) { // Now hook everything up (i.e. set up the streams), Java style: - os = clientConnection.getOutputStream(); + os = clientConnectionSocket.getOutputStream(); ps = new PrintStream(os); ps.println("This message was produced by the server."); // this gets sent back to client! // Print some information locally about the Socket connection. // This includes the port and IP numbers on both sides (the socket pair). - localAddress = clientConnection.getLocalAddress(); - remoteAddress = clientConnection.getInetAddress(); - localPort = clientConnection.getLocalPort(); - remotePort = clientConnection.getPort(); + localAddress = clientConnectionSocket.getLocalAddress(); + remoteAddress = clientConnectionSocket.getInetAddress(); + localPort = clientConnectionSocket.getLocalPort(); + remotePort = clientConnectionSocket.getPort(); // My socket pair connection looks like this, to localhost: // Socket pair: (( /0:0:0:0:0:0:0:1, 2317 ), ( /0:0:0:0:0:0:0:1, 54876 )) diff --git a/examples/src/UdpMulticastHttpExamples/MulticastReceiver.java b/examples/src/UdpMulticastHttpExamples/MulticastReceiver.java index 69e106fe62d0720f15db5a597c3d610b0cca1f48..a4e18df39aa08297a2f77bfde283cc37790f4035 100644 --- a/examples/src/UdpMulticastHttpExamples/MulticastReceiver.java +++ b/examples/src/UdpMulticastHttpExamples/MulticastReceiver.java @@ -20,7 +20,7 @@ public class MulticastReceiver { /** Time to live: how many router-decrement levels can be crossed */ public static final int TTL = 10; - final private static boolean infiniteReadLoop = false; + final private static boolean infiniteReadLoop = true; public static void main(String[] args) {