From 2eaedb68a1f68ea3fbce534bc92ae6142a2fa53a Mon Sep 17 00:00:00 2001
From: bkii <bkii@10.0.0.123>
Date: Wed, 11 Sep 2019 20:02:27 -0700
Subject: [PATCH] Done!

---
 .../BRE_KNO_MCC_PC2_Controller.java           |  8 +-
 ...BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.java | 94 ++++++++++---------
 ...E_KNO_MCC_PC3_PC2_UNICAST_PduReceiver.java |  6 +-
 3 files changed, 56 insertions(+), 52 deletions(-)

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 4c9717d923..197b06e6a2 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
@@ -38,14 +38,10 @@ public class BRE_KNO_MCC_PC2_Controller
         pc2_pc3_sender.setNetworkSettinigs(ipPC3, portPC3);
         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();
-        }
+        pc2_pc3_receiver.setKeepRunning(true);       
 
 
         while (keepRunningMainThread)
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 f85a0adf7a..fcf17daf29 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
@@ -11,6 +11,7 @@ import java.io.IOException;
 import java.net.DatagramPacket;
 import java.net.DatagramSocket;
 import java.net.InetAddress;
+import java.net.SocketException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -26,63 +27,68 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender extends Thread
 
     public void run()
     {
-        isRunning = true;
-
-        while (keepRunning)
+        try
         {
-            try
+            isRunning = true;
+            DatagramSocket socket = new DatagramSocket(portPC3);            
+            
+            while (keepRunning)
             {
-                mutex.acquire();
-                if (!messagesToSend.isEmpty())
+                try
                 {
-                    Pdu tempPdu = messagesToSend.get(0);
-                    messagesToSend.remove(0);
-                    mutex.release();
-
-                    if (tempPdu.getPduType() != DISPDUType.COMMENT)
-                    {
-                        System.out.println("Received Message Is Not A CommentPDU. Skiped.");
-                    }
-                    else
+                    mutex.acquire();
+                    if (!messagesToSend.isEmpty())
                     {
-                        //Sending via UNICAST
-                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                        DataOutputStream dos = new DataOutputStream(baos);
-                        byte[] buffer;
-
-                        try
+                        Pdu tempPdu = messagesToSend.get(0);
+                        messagesToSend.remove(0);
+                        mutex.release();
+                        
+                        if (tempPdu.getPduType() != DISPDUType.COMMENT)
                         {
-                            tempPdu.marshal(dos);
+                            System.out.println("Received Message Is Not A CommentPDU. Skiped.");
                         }
-                        catch (Exception ex)
+                        else
                         {
-                            Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
-                        }
-                        buffer = baos.toByteArray();
-                        DatagramPacket packet = new DatagramPacket(buffer, buffer.length, pc3IP, portPC3);
-
-                        try
-                        {
-                            DatagramSocket socket = new DatagramSocket(portPC3);
-                            socket.send(packet);
-                        }
-                        catch (IOException ex)
-                        {
-                            Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
+                            //Sending via UNICAST
+                            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+                            DataOutputStream dos = new DataOutputStream(baos);
+                            byte[] buffer;
+                            
+                            try
+                            {
+                                tempPdu.marshal(dos);
+                            }
+                            catch (Exception ex)
+                            {
+                                Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
+                            }
+                            buffer = baos.toByteArray();
+                            DatagramPacket packet = new DatagramPacket(buffer, buffer.length, pc3IP, portPC3);
+                            
+                            try
+                            {
+                                socket.send(packet);
+                            }
+                            catch (IOException ex)
+                            {
+                                Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
+                            }
                         }
                     }
-
+                    else
+                    {
+                        mutex.release();
+                    }
                 }
-                else
+                catch (InterruptedException ex)
                 {
-                    mutex.release();
-                    keepRunning = false;
+                    Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
                 }
             }
-            catch (InterruptedException ex)
-            {
-                Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
-            }
+        }
+        catch (SocketException ex)
+        {
+            Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
         }
     }
 
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 360beff740..27521f9bb8 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
@@ -17,6 +17,7 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
 
     static int portPC3;
     static InetAddress ipPC2;
+    static DatagramSocket socket;
 
     public static void main(String[] args)
     {
@@ -42,7 +43,9 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
 
         try
         {
-            DatagramSocket clientSocket = new DatagramSocket(portPC3);
+            DatagramSocket clientSocket = new DatagramSocket(portPC3);            
+            socket = new DatagramSocket(2344);
+            
             while (keepRunning)
             {
                 DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length);
@@ -107,7 +110,6 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
         DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), ipPC2, 2344);
         try
         {
-            DatagramSocket socket = new DatagramSocket(2344);
             socket.send(packet);
         }
         catch (IOException ex)
-- 
GitLab