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 4fe8b8c7f2ff53208b9822470f199f6ce8c7396f..4c9717d9233f0361a2351245e0b3d88146114d9f 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,6 +9,7 @@ import java.util.logging.Logger; public class BRE_KNO_MCC_PC2_Controller { + 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; @@ -31,33 +32,39 @@ public class BRE_KNO_MCC_PC2_Controller pc2_pc1_receiver.resetSavedMCASTMessagesList(); pc2_pc1_receiver.setKeepRunning(true); //use this to terminate thread instead of killing it by hard pc2_pc1_receiver.setNetworkData(mcastIPPC1, portPC1); - pc2_pc1_receiver.start(); + 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.setNetworkSettings(portPC3); - pc2_pc3_receiver.start(); + pc2_pc3_sender.setKeepRunning(true); + pc2_pc3_receiver = new BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver(); + pc2_pc3_receiver.setNetworkSettings(2344); + pc2_pc3_receiver.setKeepRunning(true); + if (!pc2_pc3_sender.isAlive()) + { + pc2_pc3_sender.isAlive(); + } + + while (keepRunningMainThread) - { + { List<Pdu> tempSet = pc2_pc1_receiver.getMCASTMessagesToSend(); if (!tempSet.isEmpty()) { - pc2_pc3_sender.setKeepRunning(true); - pc2_pc3_sender.setListToSend(tempSet); - if (!pc2_pc3_sender.isAlive()) - { + { + pc2_pc3_sender.start(); } - + pc2_pc3_sender.setListToSend(tempSet); + if (!pc2_pc3_receiver.isAlive()) { + pc2_pc3_receiver.start(); } } + else { try 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 73804f6087728c39047dddb46062de8929700795..fa7eaff8b66bbebf24390a71966657302d6f339c 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 @@ -53,4 +53,8 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver extends Thread public void setNetworkSettings(int port){ portPC3 = port; } + + public void setKeepRunning(boolean k){ + keepRunning = k; + } } 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 09d1c0b278b24055e170393b19548f6b849b1ac5..f85a0adf7a909883c4c0454d6cf7aa70fb5ba3b2 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 @@ -16,7 +16,6 @@ import java.util.logging.Logger; public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender extends Thread { - static Mutex mutex = new Mutex(); static List<Pdu> messagesToSend = new ArrayList(); static boolean keepRunning = false; 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 56fc85b510ba151970cef92ee3cf9d3ce098bd6a..360beff7407a7a6d4fb746fdd1cf484cf7b9ddd4 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 @@ -104,10 +104,10 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver //Sending via UNICAST String message = ("PC3: Packet with InternID " + internID + " received."); - DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), ipPC2, portPC3); + DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), ipPC2, 2344); try { - DatagramSocket socket = new DatagramSocket(portPC3); + DatagramSocket socket = new DatagramSocket(2344); socket.send(packet); } catch (IOException ex)