diff --git a/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf b/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf deleted file mode 100644 index 96c46679560eec6712839a287e26de9e6d1efccc..0000000000000000000000000000000000000000 Binary files a/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf and /dev/null differ diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java new file mode 100644 index 0000000000000000000000000000000000000000..8852127968337a6dcd00f667e1a7742aa2fb086a --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java @@ -0,0 +1,69 @@ +/* + * 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.homework3.Cain_Thomerson_Homework3; + +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.MulticastSocket; + +/** + * + * @author danielcain with credit to CDR Angelopolis + */ +public class CainThomersonHw3Receiver { + + public static final String MULTICAST_ADDRESS = "239.1.2.15"; + public static final int DESTINATION_PORT = 1717; + /** How many routers can be crossed */ + public static final int TTL = 10; + + public static void main(String[] args) + { + try + { + + System.setProperty("java.net.preferIPv4Stack", "true"); + + MulticastSocket multicastSocket = new MulticastSocket(DESTINATION_PORT); + multicastSocket.setTimeToLive(TTL); + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + System.out.println(multicastAddress); + // Join group useful on receiving side + multicastSocket.joinGroup(multicastAddress); + // You can join multiple groups here + while(true) + { + byte[] packetArray = new byte[1500]; + DatagramPacket packet = new DatagramPacket(packetArray, packetArray.length); + multicastSocket.receive(packet); + ByteArrayInputStream bais = new ByteArrayInputStream(packet.getData()); + DataInputStream dis = new DataInputStream(bais); + char type = dis.readChar(); + if (type == 'A') { + float firstNumber = dis.readFloat(); + float secondNumber = dis.readFloat(); + float thirdNumber = dis.readFloat(); + System.out.println("help! Ninjas took the keg!"); + System.out.println("the keg was spotted at coordinates (x: " + firstNumber + ", y: " + secondNumber +", z: " + thirdNumber + " )"); + } + if (type == 'B') { + int lngth = dis.readInt(); + String informationLine = "the customer says: "; + for(int i=0; i<lngth; i++) { + informationLine += dis.readChar(); + } + System.out.println(informationLine); + } + } + } + catch(Exception e) + { + System.out.println(e); + } + } +} diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java new file mode 100644 index 0000000000000000000000000000000000000000..7613dfe4934ded930ea52dd663271190ef881987 --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java @@ -0,0 +1,93 @@ + +package MV3500Cohort2018JulySeptember.homework3.Cain_Thomerson_Homework3; + + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.MulticastSocket; +import java.util.Random; + + +/** + * + * @author danielcain with credit to CDR Angelopolis + */ +public class CainThomersonHw3Sender { + +public static final String MULTICAST_ADDRESS = "239.1.2.15"; + public static final int DESTINATION_PORT = 1717; + /** How many routers can be crossed */ + public static final int TTL = 10; + + public static void main(String[] args) + { + try + { + + System.setProperty("java.net.preferIPv4Stack", "true"); + + + MulticastSocket multicastSocket = new MulticastSocket(1718); + multicastSocket.setTimeToLive(TTL); + InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS); + System.out.println(multicastAddress); + // Join group useful on receiving side + System.out.println(multicastAddress); + // Join group useful on receiving side + multicastSocket.joinGroup(multicastAddress); + // You can join multiple groups here + // Put together a message with binary content. "ByteArrayOutputStream" + // is a java.io utility that lets us put together an array of binary + // data, which we put into the UDP packet. + + ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); + DataOutputStream dos = new DataOutputStream(byteOut); + Random rand = new Random(); + Random rndFLT = new Random(); + for(int idx = 1; idx <+ 100; idx++){ + float flt = rndFLT.nextFloat(); + if (flt <=.5){ + dos.writeChars("A"); + dos.writeFloat(rand.nextFloat()*100); + dos.writeFloat(rand.nextFloat()*100); + dos.writeFloat(rand.nextFloat()*100); + } + else if (flt < .8 ) { + dos.writeChars("B"); + dos.writeInt("Information Bravo.".length()); + dos.writeChars("study for networks"); + } + else { + dos.writeChars("B"); + dos.writeInt("Information Charlie.".length()); + dos.writeChars("Drink beer and chill."); + } + byte[] buffer = byteOut.toByteArray(); + // Put together a packet to send + + // muticast group we are sending to--not a single host + + DatagramPacket packet = new DatagramPacket(buffer, buffer.length, multicastAddress, DESTINATION_PORT); + + // How fast does this go? Does UDP try to slow it down, or does + // this cause network problems? (hint: yes for an unlimited send + // rate, unlike TCP). How do you know on the receiving side + // that you haven't received a duplicate UDP packet, out of + // order packet, or dropped packet? + + + multicastSocket.send(packet); + byteOut.reset(); + Thread.sleep(1000); // Send 100, one per second + System.out.println("Sent multicast packet " + idx + " of 100"); + } + } + catch(Exception e) + { + System.out.println(e); + } + } + +} diff --git a/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml b/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml index 677f586b136628aa810ddaacdbe5ae89debeefc4..cdc34b407c52c2099ed91aa91693b51078648f04 100644 --- a/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml +++ b/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml @@ -1,9 +1,9 @@ -<?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"/> - <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> - <group name="MV3500 networking open-dis"> - <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpClient/TcpClient/src/tcpclient/TcpClient.java</file> - </group> - </open-files> -</project-private> +<?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"/> + <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> + <group name="MV3500 networking open-dis"> + <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpClient/TcpClient/src/tcpclient/TcpClient.java</file> + </group> + </open-files> +</project-private> diff --git a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class index 7a921b68cb4aab746feea6a3f1c1756c12549a71..4eeaca403f21a11ca35de083b572164ebba3e408 100644 Binary files a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class and b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class differ diff --git a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml index 2c9ba6601e23058e25a0da11b4bf126041a26d21..eb56e68af4ac2534930d72771f22170f2321e9fa 100644 --- a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml +++ b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml @@ -1,14 +1,14 @@ -<?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"/> - <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> - <group> - <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file> - <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file> - </group> - <group name="MV3500 networking open-dis"> - <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file> - <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file> - </group> - </open-files> -</project-private> +<?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"/> + <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> + <group> + <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file> + <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file> + </group> + <group name="MV3500 networking open-dis"> + <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file> + <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file> + </group> + </open-files> +</project-private> diff --git a/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class b/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class index f263483587b873c85528e1ddbf3906d2ceb42cb7..708e594b631cbfb1eebc065078d2f6e87b4037b5 100644 Binary files a/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class and b/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class differ