From 153fa0624e81fda452e64042790007cff31415d9 Mon Sep 17 00:00:00 2001
From: John Furr <John Furr@Johns_Asus>
Date: Wed, 5 Sep 2018 09:28:41 -0700
Subject: [PATCH] Added project file

---
 .gitignore                                    |   1 +
 .../FriscoFurrPduSender.java                  | 188 ++++++++++++++++++
 .../build/built-jar.properties                |   4 +
 .../multicastreceiver/MulticastReceiver.class | Bin 0 -> 2393 bytes
 .../nbproject/private/private.xml             |   4 +
 .../TcpClient/build/built-jar.properties      |   4 +
 .../build/classes/tcpclient/TcpClient.class   | Bin 0 -> 1714 bytes
 .../TcpServer/build/built-jar.properties      |   4 +
 .../build/classes/tcpserver/TcpServer.class   | Bin 0 -> 1885 bytes
 9 files changed, 205 insertions(+)
 create mode 100644 deliverables/src/MV3500Cohort2018JulySeptember/FinalProject/FriscoFurrProject/FriscoFurrPduSender.java
 create mode 100644 originals/projects/MulticastExample/MulticastReceiver/build/built-jar.properties
 create mode 100644 originals/projects/MulticastExample/MulticastReceiver/build/classes/multicastreceiver/MulticastReceiver.class
 create mode 100644 originals/projects/MulticastExample/MulticastReceiver/nbproject/private/private.xml
 create mode 100644 originals/projects/TcpExample3/Client/TcpClient/build/built-jar.properties
 create mode 100644 originals/projects/TcpExample3/Client/TcpClient/build/classes/tcpclient/TcpClient.class
 create mode 100644 originals/projects/TcpExample3/Server/TcpServer/build/built-jar.properties
 create mode 100644 originals/projects/TcpExample3/Server/TcpServer/build/classes/tcpserver/TcpServer.class

diff --git a/.gitignore b/.gitignore
index a8613d6464..57a63c7106 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,3 +45,4 @@
 /projects/UdpExample1/UdpReceiver/nbproject/private/
 /projects/UdpExample1/UdpSender/build/
 /projects/UdpExample1/UdpSender/nbproject/private/
+/CourseExamples/dist/
\ No newline at end of file
diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/FinalProject/FriscoFurrProject/FriscoFurrPduSender.java b/deliverables/src/MV3500Cohort2018JulySeptember/FinalProject/FriscoFurrProject/FriscoFurrPduSender.java
new file mode 100644
index 0000000000..e7804b68a0
--- /dev/null
+++ b/deliverables/src/MV3500Cohort2018JulySeptember/FinalProject/FriscoFurrProject/FriscoFurrPduSender.java
@@ -0,0 +1,188 @@
+package MV3500Cohort2018JulySeptember.FinalProject.FriscoFurrProject;
+
+import java.io.*;
+import java.net.*;
+import java.util.*;
+
+import edu.nps.moves.dis.*;
+import edu.nps.moves.disenum.*;
+import edu.nps.moves.examples.ClassNameComparator;
+
+/**
+ * This is an example that sends many/most types of PDUs. Useful for testing standards
+ * compliance or getting a full set of PDUs. It also writes the generated PDUs to an XML file.
+ * Adapted from OpenDIS library example package edu.nps.moves.examples
+ *
+ * @author DMcG
+ * @version $Id:$
+ */
+public class FriscoFurrPduSender
+{
+    /** Default multicast group address we send on. */
+    public static final String DEFAULT_MULTICAST_ADDRESS = "239.1.2.3";
+	
+    /** Default multicast port used, matches Wireshark DIS capture default */
+    public static final int    DEFAULT_MULTICAST_PORT    = 3000;
+	
+    private int port;
+    InetAddress multicastAddress;
+
+    public FriscoFurrPduSender(int port, String multicast) {
+        try
+		{
+            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 {
+            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();
+						EntityStatePdu espdu = (EntityStatePdu) aPdu;
+						Marking marking = new Marking();
+						marking.setCharactersString("PduSender");
+						espdu.setMarking(marking);
+						Vector3Double espduLocation = new Vector3Double();
+						espduLocation.setX(1.0);
+						espduLocation.setY(2.0);
+						espduLocation.setZ(3.0);
+                        break;
+                        
+                    case COMMENT:
+                        aPdu = new CommentPdu();
+                        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) {
+            FriscoFurrPduSender sender = new FriscoFurrPduSender(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);
+            FriscoFurrPduSender sender = new  FriscoFurrPduSender(DEFAULT_MULTICAST_PORT, DEFAULT_MULTICAST_ADDRESS);
+            sender.run();
+        }
+    }
+}
diff --git a/originals/projects/MulticastExample/MulticastReceiver/build/built-jar.properties b/originals/projects/MulticastExample/MulticastReceiver/build/built-jar.properties
new file mode 100644
index 0000000000..bdc69cb3a5
--- /dev/null
+++ b/originals/projects/MulticastExample/MulticastReceiver/build/built-jar.properties
@@ -0,0 +1,4 @@
+#Wed, 22 Aug 2018 09:40:08 -0700
+
+
+E\:\\Documents\\NPS\\MV3500_Internetwork_Communications\\NetworkedGraphicsMV3500\\projects\\MulticastExample\\MulticastReceiver=
diff --git a/originals/projects/MulticastExample/MulticastReceiver/build/classes/multicastreceiver/MulticastReceiver.class b/originals/projects/MulticastExample/MulticastReceiver/build/classes/multicastreceiver/MulticastReceiver.class
new file mode 100644
index 0000000000000000000000000000000000000000..1a1b9022da0a69e3ae81819894cd57a81b18b10e
GIT binary patch
literal 2393
zcmaJ@X?Igq6y3KOUXliA1GEH-gh6R(o5&=PBH9t6>0lFzu_C@EkMi2&z4-D{sPllc
zg8Bzs3qQD)_yyM@Wmy+Lz~A6+0r!0wniB9s?r`qD`<}DUxi{~hhkrc)a2!7eupiSt
z%=qwn0JBIbNGrGyfCqE3x#+_i0c7x|pNsPWyoF2B{I-J20c^!Pa-u3&kdtfxoyaNB
z0@#5ovRPDcHGpn;fG+zb*)02zmwmwpL-wX*Eh>0dfhEv6c_Eojj1H&Lmxss3X2(-0
zflzWuT~T9s)mV(BY)dy5hXl5annuZ14SP<_mo<TovGG(oF*Te{Oix{&nVwAxh=dF9
z-V<=8(@72y5b&PS4c$IVTW{Z-fP2);ar3sMZfH~G!h&X{)rCAQp`@8r^K+`D%X!V{
zwy)|Xf#;Hia^BXnYRR^=tfsGMR&26vnXOsqqPw8#hCo;Ed}{#m@b;pbUDoVj%TiYb
z+U7^-UezQJu5K|jJ2s};>Y}9<W*oHST~MVP&sHJ285>!(HHRf(6w5Xx($oTRuAGF`
zm<W?Zn-T3-bgN`n1E*dS0>P4&HH}=|w5<_o%9Oqe?A~y!5p#8oCw4U8!?~QLm3VyD
z20p=PYIb5hS+i`AP*CliRgjb6@#|TwXzQjSBUP<Ma%_KsfUJO&O+_ZvqLUq`a7zl#
zv62J=DYI;4wFzD3va8`}JvmWXP(k!#Kwy^~N9kI$XlYk8D>1Wj++pVNwpG>?*g=%B
zQbWdMN*aW9RSq-)e|km8^R5MP9oOjJ(PO8hN1{igM@}dx1+j|vf_NVvDEKglkMMC2
zpWsu0Zl~~Di$GF+7R2YcA<*Mso>B!te1R_|`l~uwYaPhtuY>po-_|irH*KV>=X098
znAMVq)Z)v<BSCzJ?`89Yz}CowtfYwH+@ZL%-XvQj<y2FI5nMB^<&EWA_)*6B6Lagh
zzd7?Pqz&uz!jhI{o$P36(Nss9kg3&@trd8$N}4@mnMKXAd9P0OHWgRx`DnHDwVIg!
z-h{lTTgaEz3tHMt@~#W`7d3libxJL8eE13MH7=R9CRgQ!G|LR6R_si~4BxVi>snP}
zvspkXN>HBf$j;`Ys;Uf0_xwwyZk)5sa*>z4hI#yKiSzc(k2vutwH&f`n&6K;GjfN*
zK&4qK(I=lL4=LoruG&62+x(z7-th6sP2^3Lk@Ah@lj2p2Ma{?w3^oT)%S5a0wTh!$
zJ(RyCEzQdl|F`V3&FUE}o!(X;`8Nq#_h%0K;N_np;6fM&a1ea(IctNT^XGA>G4JKP
zuW5dm7{R+Vz;=*3V(bNb&*3$QyADN^t=BQOa~TL$0eAsNIP>Euj?u!+;t#kHpzThm
zE#$fn_r-O1GM(OgYfzH?9f1mbA^&{@CjUhHKn1~mHd|b0J3asY?TfqDu{9HRhusg>
zur2QC4|^);xZx7(=*-A*Xbs!r-gWHAguQFn8CSwe1zo3n)y_}Kb#!Oeuqza<VE3L1
zo(c7E(Cw>WPv}`W@^e(d-U=eWJ-V6XhJN~R*9qn}Zc{-QWT><J1^{~C!(MDhgnI4c
zXg^gvNSzKb(0+b{3}A%l^AzMY%8;Q5Im)oi6$>xo7n~&HY5a;I{En9#*@|fAszjWi
zOe45N+(~|kWH5nK#CpjvggAeSgF3@~KC%tsEJuF&atklx75clEZ|E=?+PGH6D1CDA
qBn4v_ccQsN#&e9}Jbz)dJ;b1bgo0PaBiIlMJ!X?6bdrEJO#KHU;$5)-

literal 0
HcmV?d00001

diff --git a/originals/projects/MulticastExample/MulticastReceiver/nbproject/private/private.xml b/originals/projects/MulticastExample/MulticastReceiver/nbproject/private/private.xml
new file mode 100644
index 0000000000..db03bb0777
--- /dev/null
+++ b/originals/projects/MulticastExample/MulticastReceiver/nbproject/private/private.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+</project-private>
diff --git a/originals/projects/TcpExample3/Client/TcpClient/build/built-jar.properties b/originals/projects/TcpExample3/Client/TcpClient/build/built-jar.properties
new file mode 100644
index 0000000000..205ba76f14
--- /dev/null
+++ b/originals/projects/TcpExample3/Client/TcpClient/build/built-jar.properties
@@ -0,0 +1,4 @@
+#Mon, 20 Aug 2018 09:06:48 -0700
+
+
+E\:\\Documents\\NPS\\MV3500_Internetwork_Communications\\NetworkedGraphicsMV3500\\projects\\TcpExample3\\Client\\TcpClient=
diff --git a/originals/projects/TcpExample3/Client/TcpClient/build/classes/tcpclient/TcpClient.class b/originals/projects/TcpExample3/Client/TcpClient/build/classes/tcpclient/TcpClient.class
new file mode 100644
index 0000000000000000000000000000000000000000..26a80cf0fb4f36ec25725e12c70ebc771a26a7fc
GIT binary patch
literal 1714
zcmb7FTUQ%Z6#fn*%p?uB&~Rz14x%>DhLnn0p`{jRB^n4ek&5-wVR9M<l9@P}l(s*|
z7oY0`tR-vt1N=k2so$9ixoBP_YtEUoZ)bns-h24tuit(Lu#9pXS8ykWPqCt7HIBQu
zr(sRQeI1|05yb<wtZUeaBaTfC593JSky<|2v85xY;fpxNaYx6OYR{`>Tf>fyf{M1Q
z<0}o11!DQa#)JG;p;!_~=8w!5X0~cNm2A=XY^Sm+FudV94c~P9J+s=B0z-Fg$M)9*
z2GjF<0+9{3OzCLecH~a8b|Afyc~GS!nRhL-x@UT}I=6%o|Ils-r1HL1x2m>u{A|gp
zZv=0=D^fFUM_@Aj^uL*?%Z3`Rbu4{>@lfwbKU)k$bRGyJ2M}yGn{(<-pD3hRqjJ!0
zcmh{Lw_fdIX_lp@0vym}x^1%FeEwW|vfS1WH>CGMdfT$mFe^kT_@vtAxx&MjmaO}>
z>nJ3qS0T`eK0rum(KoH*ZL=P*!lDSoi*D1i<Re>AH`3;0QK3oTZM>tQm_P|%3tVe!
z4U6b}mdOZtSzKJyu$RCSe8Y+aM06NpGJQy=-K~}G-;%m*KY?%YRA8nLnIRp@>N{5I
z!l0KdrTspEAMm5V?R)?GkIl2=o){<cx+e|atR55MtiV)oSyy+iH|;7*Ct#EgrBMs(
zV)%RyE5*(6jT5tBB=8L6@jxXsaglRZ#aPH)&t;$1j1${GG{W9oq2Ci&0++(GAz#{T
zzOhaog@Yq$^@@tG8osQt<J=|{o&MP6Jazi9okW*dK&vaGDn}rd4jZcr?W&r9$v*O&
zQjAoj-_`PDD?Q)o&7N79ZpG*wgCP7wN7ZV36<cSUmDPX?T)v3fofrqxtk<Pe7RdC;
zua!raN2_q06Ww>iFU`Lohr}``%wmY2LV(?ftGLGfEuIFT@eyh=xEhpXxeM;mg)@jZ
zfype_p+Go>cln+O4KRoIc#7eDd_al8*jYqq3B3Ll1IfWtM9vZ2Pio__;WOy@8>fhE
zpCi71^9+}E&XL&9oMCt+G7~w)$VycCjM7K#W8r>|@%=L-lM|=7JQL+|iWD`!{QYxY
zSxtpjj61E4Gd#Wtax-CK5`zQ{tYMVv6m)`2QF4VC=J?AX&3_Q{{D?1L6E`?z8G2>e
z+_!LqCHzF~D|{3n-XcvY<Zzunf)O_9w?N|Nuu9LHyeUJE3>JxhnVKvKjxy3HV=V<4
ay~b^P$UK($#OV1ao@op&@G%7g_~akaDWBp1

literal 0
HcmV?d00001

diff --git a/originals/projects/TcpExample3/Server/TcpServer/build/built-jar.properties b/originals/projects/TcpExample3/Server/TcpServer/build/built-jar.properties
new file mode 100644
index 0000000000..85e5f34dd8
--- /dev/null
+++ b/originals/projects/TcpExample3/Server/TcpServer/build/built-jar.properties
@@ -0,0 +1,4 @@
+#Mon, 20 Aug 2018 09:06:34 -0700
+
+
+E\:\\Documents\\NPS\\MV3500_Internetwork_Communications\\NetworkedGraphicsMV3500\\projects\\TcpExample3\\Server\\TcpServer=
diff --git a/originals/projects/TcpExample3/Server/TcpServer/build/classes/tcpserver/TcpServer.class b/originals/projects/TcpExample3/Server/TcpServer/build/classes/tcpserver/TcpServer.class
new file mode 100644
index 0000000000000000000000000000000000000000..6e0aad6c538e6e59c6ffb97330b8df6046e4ce17
GIT binary patch
literal 1885
zcmaJ?-%}e^6#h0O*-cyugoc8)b*Vp^w2)M-sG-&Z7E293Y!Hjp>aw|zg=BZ#Y@qb5
zJ~-n`ADn3)?W522A<W2(e}I3JWBu+fgj5(alXLGq=k9mDbMAL{|N7^TKLK3D!!%yU
zR0`9W(eP;+Dcn>sn??ekNpmZWIoww9xr~%G%**wHG>g(KN%Mt@J8AS|N<&4C%V~Ux
z6%Aj>#a#`n8orj(6^U_AKJkr;Z#CRk@tunA6(q0OjvZWA(38urD2UIvRiU7-Y&&A1
z)mRh$vbk2LCsTGUv%X^bwp<@L<3Y`CD#(@t%WDdMTlmFg%d3R5NrE*@+fgu-yI0;c
zx6NYRbT*2Wz_*=^NtvwQs@uW|W?aV+R$#l_I}q)3L{O}_)|Lne6LXnkC<@qaaj_M6
zt$;AXY{;k=G6)kex<vG&pk9}(r>a$7G><?e`W(%HpCG-yXt;ssY)pmEExCT6K$%mJ
zj^dF+k4laBDLB(bIjp=xTw&j`9o}<`Hy>ESlXc48nEnPC4W7^%(y0WdwKZ>gVV|i9
z6(t@Uc~sn%Z;4r39?7XruM4tz9R@~Ka9l${!Eh&P)Xb*Q3`{=|)k2}5!$OtB!j6TF
z?qV%LgpPG=sHo|%u}O|6^j7ZMQgD8m0x))nzvJ6MARJ?D*9dCDh+3qhj)o3L8W*09
zAK<ZJAzqglrdxKsDtrneYMtSkwqG)GIYWn!riwsE3)?*FvCy+a*&6vVBWF;yMn13O
z0Y-J~Vzi5FSG$?g^IgieVeHsJ&0x_xuD?YYa{md^C6ObFi))({=S!~2ZZi-K=5|{Q
zsGgKuo#M^rqQmYgE!25DHz(zuG%b1l%$dt~Y35MoeMbipx_ApWM9{5v9_rzf$M3<&
zLGu4bWM&Bz-rtVEJ3z<p!YOX<x*ZDi!>1$p^F_fMq0$+xlcwhhhl(0Msr+LdIXG-y
zfzzFWUrMJ1ZuE}ej>B@hJF4I;`}se(iS>G`SyPa(>TXkD6zBPxmA@Dic}Hk3a8=}}
za7<j<gYrBKzd@S}ox^yOb3NLCx9~PsDO^O39zLu*Mi1A(v)>WR^t2J*M`Cp#)w_pe
z`EncT{8$^>!ah=~<9kS#;v@0QE8In|UP{pRmXfrmCREzK35_WG=wIE#Kqk}1;7Fp4
z(;PEdnylK!Q09zuC%fI6bPv<r#t5ND;%&T2wAX%n@u)0Woul)4SiloJ!C4ZP<t<>4
z_5w7n25||)7{@sjSlSiZ_xV+tKnWk>20p?prg(R!@e{|NaSM<6`S=C5iB`r_%;Q%q
zhHY9$nm7-UCti$bEnLPJ^IgOi(F=$Z^*;N3g&(yN?&2NJlFV=i@8Ui1^+vp_oM~kA
tBRNcv^;51sAP;#$&&Z|3agzTmVt->$#kCiB1VzQi(p=}ZPZ*5h#=p?B%9j8D

literal 0
HcmV?d00001

-- 
GitLab