diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastReceiver.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastReceiver.java new file mode 100644 index 0000000000000000000000000000000000000000..acb89ce19013056d01ecc5efde1bd888eeab958f --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastReceiver.java @@ -0,0 +1,85 @@ +/* + * 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.Ayres_Homework3; + +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.MulticastSocket; +import java.net.UnknownHostException; +/** + * + * @author kjayr + */ +public class AyresMulticastReceiver { +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 + { + + // This is a java/IPv6 problem. You should also add it to the + // arguments used to start the app, eg -Djava.net.preferIPv4Stack=true + // set in the "run" section of preferences. Also, typically + // netbeans must be restarted after these settings. + // https://stackoverflow.com/questions/18747134/getting-cant-assign-requested-address-java-net-socketexception-using-ehcache + 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 + + int count = 0; + int firstNumber = 11; + int secondNumber = 67; + int thirdNumber = 108; + int forkliftsAvail = 100; + int forkliftsServ = 0; + + while(true) + { + byte[] packetArray = new byte[1500]; + DatagramPacket packet = new DatagramPacket(packetArray, packetArray.length); + + multicastSocket.receive(packet); + count++; + firstNumber+=1.5; + secondNumber+=3.5; + thirdNumber+=5.0; + if(count > 1){ + forkliftsAvail-=1; + forkliftsServ+=1; + } + ByteArrayInputStream bais = new ByteArrayInputStream(packet.getData()); + DataInputStream dis = new DataInputStream(bais); + //float firstNumber = dis.readInt(); + //float secondNumber = dis.readInt(); + //float thirdNumber = dis.readInt(); + + System.out.println("Marine Corps Logistics Base Albany: Wilson Warehouse"); + System.out.println("Order received: " + count + " NSN ID: " + firstNumber + " Xrow: " + secondNumber + " Yshelf: "+ thirdNumber + + " Forklifts Availble: " + forkliftsAvail + " Forklifts in Service: " +forkliftsServ); + System.out.println("______________________________________________________"); + } + } + catch(Exception e) + { + System.out.println(e); + } + } +} diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastSender.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastSender.java new file mode 100644 index 0000000000000000000000000000000000000000..6cee1718828b4ad7d79cab2a6ed91a19794abffc --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Ayres_Demchko_Homework3/AyresDemchkoMulticastSender.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.Ayres_Homework3; + +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.MulticastSocket; + +/** + * + * @author kjayr + */ +public class AyresMulticastSender { + + 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 + { + //int ID = 27; + //int xrow = 5; + //int yshelf = 7; + + 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 + 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 baos = new ByteArrayOutputStream(); + DataOutputStream dos = new DataOutputStream(baos); + //dos.writeInt(ID); + //dos.writeInt(xrow); + //dos.writeInt(yshelf); + byte[] buffer = baos.toByteArray(); + + DatagramPacket packet = new DatagramPacket(buffer, buffer.length, multicastAddress, DESTINATION_PORT); + + for(int idx = 0; idx < 100; idx++) + { + multicastSocket.send(packet); + 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/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Furr_Frisco_Homework3/FurrFriscoHw3Receiver.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Furr_Frisco_Homework3/FurrFriscoHw3Receiver.java new file mode 100644 index 0000000000000000000000000000000000000000..090d33d844cf98aaf320cc6056fe48ee2c435e76 --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Furr_Frisco_Homework3/FurrFriscoHw3Receiver.java @@ -0,0 +1,73 @@ +/* + * 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.Furr_Frisco_Homework3; + +import MV3500Cohort2018JulySeptember.homework3.Furr_Frisco_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 FurrFriscoHw3Receiver { + + 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 == '1') { + int lngth = dis.readInt(); + String informationLine = "Abbott says: "; + for(int i=0; i<lngth; i++) { + informationLine += dis.readChar(); + } + System.out.println(informationLine); + } + if (type == '2') { + int lngth = dis.readInt(); + String informationLine = "Costello 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/Furr_Frisco_Homework3/FurrFriscoHw3Sender.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Furr_Frisco_Homework3/FurrFriscoHw3Sender.java new file mode 100644 index 0000000000000000000000000000000000000000..ef5371d8982eaac0afea420fcd36a7ae0ab0fff9 --- /dev/null +++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Furr_Frisco_Homework3/FurrFriscoHw3Sender.java @@ -0,0 +1,116 @@ +package MV3500Cohort2018JulySeptember.homework3.Furr_Frisco_Homework3; + +import MV3500Cohort2018JulySeptember.homework3.Furr_Frisco_Homework3.*; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.net.DatagramPacket; +import java.net.InetAddress; +import java.net.MulticastSocket; +import java.util.ArrayList; +import java.util.Random; + +/** + * + * @author danielcain with credit to CDR Angelopolis + */ +public class FurrFriscoHw3Sender { + + 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); + int numb = 1; + int count = 0; + int count1 = 0; + + ArrayList<String> abb = new ArrayList<String>(); + abb.add("I'm telling you. Who's on first, What's on second, I Don't Know is on third--"); + abb.add("Yes"); + abb.add("Yes"); + abb.add("Who"); + abb.add("Who"); + abb.add("Who is on first"); + abb.add("I'm not asking you--I'm telling you. Who is on first."); + abb.add("That's the man's name."); + abb.add("Yes!"); + + ArrayList<String> cos = new ArrayList<String>(); + cos.add("You know the fellows' names?"); + cos.add("Well, then who's playing first?"); + cos.add("I mean the fellow's name on first base"); + cos.add("The fellow playin' first base"); + cos.add("The guy on first base"); + cos.add("Well, what are you askin' me for?"); + cos.add("I'm asking you--who's on first?"); + cos.add("That's who's name?"); + + + for (int idx = 1; idx < 18; idx++) { + + if (numb <= 1) { + numb += 1; + + dos.writeChars("1"); + dos.writeInt(abb.get(count).length() ); + String x = abb.get(count); + dos.writeChars(x); + + + count += 1; + + } else { + numb -= 1; + dos.writeChars("2"); + dos.writeInt(cos.get(count1).length() ); + String x = cos.get(count1); + dos.writeChars(x); + count1 += 1; + + + } + + 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 17"); + } + } catch (Exception e) { + System.out.println(e); + } + } + +} diff --git a/projects/MulticastExample/MulticastSenderExample/nbproject/private/private.xml b/projects/MulticastExample/MulticastSenderExample/nbproject/private/private.xml index 28ec7df47718317f616aecf60d6e19f9a469d3ff..65bd4b1f50d823482647c5ec99c0c6a5787ac899 100644 --- a/projects/MulticastExample/MulticastSenderExample/nbproject/private/private.xml +++ b/projects/MulticastExample/MulticastSenderExample/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> - <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/multicastExample1/MulticastSenderExample/src/multicastsenderexample/MulticastSenderExample.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/multicastExample1/MulticastSenderExample/src/multicastsenderexample/MulticastSenderExample.java</file> + </group> + </open-files> +</project-private> diff --git a/projects/TcpExample4/TcpClient/TcpClient/build/classes/tcpclient/TcpClient.class b/projects/TcpExample4/TcpClient/TcpClient/build/classes/tcpclient/TcpClient.class index f52b3948396a954fb2fc56ba07d118e68489d498..0c1c9ce889b9aa7fd8aa10eb21eb82a33b811d17 100644 Binary files a/projects/TcpExample4/TcpClient/TcpClient/build/classes/tcpclient/TcpClient.class and b/projects/TcpExample4/TcpClient/TcpClient/build/classes/tcpclient/TcpClient.class differ diff --git a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/TcpThreadServer.class b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/TcpThreadServer.class index 563756d8ae0965b8a41c17fb7b479d7c6ccde9ee..76fc0423ff1b6b3f9074de31544b063db6fff3bf 100644 Binary files a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/TcpThreadServer.class and b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/TcpThreadServer.class differ diff --git a/projects/TcpExample5/WebExample/nbproject/private/private.xml b/projects/TcpExample5/WebExample/nbproject/private/private.xml index 3b8b4163de50a79e24cf656a777068e4ae96a199..b264008408752461b7588da610e6a76cdbb368dd 100644 --- a/projects/TcpExample5/WebExample/nbproject/private/private.xml +++ b/projects/TcpExample5/WebExample/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> - <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample5/WebExample/src/webexample/WebExample.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/TcpExample5/WebExample/src/webexample/WebExample.java</file> + </group> + </open-files> +</project-private> diff --git a/projects/UdpExample1/UdpSender/nbproject/private/private.xml b/projects/UdpExample1/UdpSender/nbproject/private/private.xml index 6807a2ba1902a255b464065dd83188d73fbe6d01..284eeecf1720feb52a216ed20ae4b27bff58ee7b 100644 --- a/projects/UdpExample1/UdpSender/nbproject/private/private.xml +++ b/projects/UdpExample1/UdpSender/nbproject/private/private.xml @@ -1,7 +1,7 @@ -<?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/> - </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/> + </open-files> +</project-private>