diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC1_MCAST_PduSender.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC1_MCAST_PduSender.java index 4c1fb2bcae5f71ce548d52ab22d1c7c28f5424b5..48d124afe78f22b4f2d11e857249de64177d2a62 100755 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC1_MCAST_PduSender.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC1_MCAST_PduSender.java @@ -96,7 +96,7 @@ public class BRE_KNO_MCC_PC1_MCAST_PduSender ArrayList<VariableDatum> payloadList = new ArrayList<VariableDatum>(); ArrayList<String> commentsList = new ArrayList<>(); - commentsList.add("Chuck Norris is comming to tow! " + "Warning " + i+1 + intervall*5); + commentsList.add("Chuck Norris is comming to town! " + "Warning " + i+1 + intervall*5); for (String comment : commentsList) { diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_Controller.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_Controller.java index 3e4623ff4e7049b8dc41f3e5845aaf1cfe000b65..4fe8b8c7f2ff53208b9822470f199f6ce8c7396f 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_Controller.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_Controller.java @@ -9,8 +9,7 @@ import java.util.logging.Logger; public class BRE_KNO_MCC_PC2_Controller { - - static boolean keepRunningMainThread = false; + static boolean keepRunningMainThread = true; static BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver pc2_pc1_receiver; static BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender pc2_pc3_sender; static BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver pc2_pc3_receiver; @@ -31,35 +30,32 @@ public class BRE_KNO_MCC_PC2_Controller pc2_pc1_receiver.resetMcastMessagesToSend(); pc2_pc1_receiver.resetSavedMCASTMessagesList(); pc2_pc1_receiver.setKeepRunning(true); //use this to terminate thread instead of killing it by hard - pc2_pc1_receiver.run(mcastIPPC1, portPC1); + pc2_pc1_receiver.setNetworkData(mcastIPPC1, portPC1); + pc2_pc1_receiver.start(); pc2_pc3_sender = new BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender(); + pc2_pc3_sender.setNetworkSettinigs(ipPC3, portPC3); + pc2_pc3_sender.start(); + pc2_pc3_receiver = new BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver(); - pc2_pc3_receiver.run(portPC3); - - //start main thread - keepRunningMainThread = true; - run(); - } + pc2_pc3_receiver.setNetworkSettings(portPC3); + pc2_pc3_receiver.start(); - public static void run() - { + while (keepRunningMainThread) - { + { List<Pdu> tempSet = pc2_pc1_receiver.getMCASTMessagesToSend(); - if (tempSet != null && !tempSet.isEmpty()) + if (!tempSet.isEmpty()) { pc2_pc3_sender.setKeepRunning(true); pc2_pc3_sender.setListToSend(tempSet); - if (!pc2_pc3_sender.getIsRunning()) - { - pc2_pc3_sender.run(ipPC3, portPC3); + if (!pc2_pc3_sender.isAlive()) + { } - if (!pc2_pc3_receiver.getIsRunning()) + if (!pc2_pc3_receiver.isAlive()) { - pc2_pc3_receiver.run(portPC3); } } else diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver.java index 56bb51e7c3ca2cbf103fdf0177909bae7c8d4d26..fadd1bb5febe6b2587113280c867abb730d2b524 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver.java @@ -12,7 +12,7 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -public class BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver +public class BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver extends Thread { public static final boolean USE_FAST_ESPDU = false; @@ -21,21 +21,17 @@ public class BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver static Mutex mutex = new Mutex(); static boolean keepRunning = false; static boolean isRunning = false; + + PduFactory factory; + MulticastSocket socket; + InetAddress address; + DatagramPacket packet; - public static void run(InetAddress addr, int port) + public void run() { - PduFactory factory; - MulticastSocket socket; - InetAddress address; - DatagramPacket packet; - try { isRunning = true; - address = addr; - socket = new MulticastSocket(port); - socket.joinGroup(address); - factory = new PduFactory(); while (keepRunning) @@ -97,6 +93,20 @@ public class BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver return isRunning; } + public void setNetworkData(InetAddress addr, int port) + { + try + { + address = addr; + socket = new MulticastSocket(port); + socket.joinGroup(address); + } + catch (IOException ex) + { + Logger.getLogger(BRE_KNO_MCC_PC2_PC1_MCAST_PduReceiver.class.getName()).log(Level.SEVERE, null, ex); + } + } + public void setKeepRunning(boolean k) { keepRunning = k; diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver.java index 2d2e16806926ecc00355cc5bc525792349ebb655..73804f6087728c39047dddb46062de8929700795 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver.java @@ -5,7 +5,7 @@ import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; -public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver +public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver extends Thread { static boolean keepRunning = false; @@ -13,12 +13,11 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver static int portPC3; - public static void run(int port) + public void run() { - portPC3 = port; isRunning = true; - try (DatagramSocket socket = new DatagramSocket(port)) + try (DatagramSocket socket = new DatagramSocket(portPC3)) { byte[] buffer = new byte[65507]; @@ -50,4 +49,8 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver public boolean getIsRunning(){ return isRunning; } + + public void setNetworkSettings(int port){ + portPC3 = port; + } } diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.java index b4a80d14e7c932af6517460278c205621eb8a715..09d1c0b278b24055e170393b19548f6b849b1ac5 100755 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.java @@ -14,7 +14,7 @@ import java.net.InetAddress; import java.util.logging.Level; import java.util.logging.Logger; -public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender +public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender extends Thread { static Mutex mutex = new Mutex(); @@ -25,13 +25,10 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender static InetAddress pc3IP; static int portPC3; - public static void run(InetAddress address, int port) + public void run() { isRunning = true; - pc3IP = address; - portPC3 = port; - while (keepRunning) { try @@ -90,6 +87,12 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender } } + public void setNetworkSettinigs(InetAddress address, int port) + { + pc3IP = address; + portPC3 = port; + } + public boolean getIsRunning() { return isRunning; diff --git a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver.java b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver.java index 99512720b737b8da5633e7c832b89482149755a2..56fc85b510ba151970cef92ee3cf9d3ce098bd6a 100644 --- a/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver.java +++ b/assignments/src/MV3500Cohort2019JulySeptember/homework2/Brennenstuhl/BRE_KNO_MCC/BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver.java @@ -12,13 +12,13 @@ import java.util.logging.Logger; public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver { - static boolean keepRunning = false; + static boolean keepRunning = true; static boolean isRunning = false; static int portPC3; static InetAddress ipPC2; - public static void main() + public static void main(String[] args) { portPC3 = 2343; diff --git a/examples/src/OpenDis7Examples/AllPduSender.java b/examples/src/OpenDis7Examples/AllPduSender.java index 130aeb917ab4aa27b23e74bf7706c5d8286dd559..dee5834a6097217bf2b1253ce017291d36c13174 100755 --- a/examples/src/OpenDis7Examples/AllPduSender.java +++ b/examples/src/OpenDis7Examples/AllPduSender.java @@ -21,7 +21,7 @@ public class AllPduSender 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; + public static final int DEFAULT_MULTICAST_PORT = 2342; private int port; InetAddress multicastAddress;