Skip to content
Snippets Groups Projects
Commit 2eaedb68 authored by bkii's avatar bkii
Browse files

Done!

parent 481f19e3
No related branches found
No related tags found
No related merge requests found
...@@ -38,14 +38,10 @@ public class BRE_KNO_MCC_PC2_Controller ...@@ -38,14 +38,10 @@ public class BRE_KNO_MCC_PC2_Controller
pc2_pc3_sender.setNetworkSettinigs(ipPC3, portPC3); pc2_pc3_sender.setNetworkSettinigs(ipPC3, portPC3);
pc2_pc3_sender.setKeepRunning(true); pc2_pc3_sender.setKeepRunning(true);
pc2_pc3_receiver = new BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver(); pc2_pc3_receiver = new BRE_KNO_MCC_PC2_PC3_UNICAST_PduReceiver();
pc2_pc3_receiver.setNetworkSettings(2344); pc2_pc3_receiver.setNetworkSettings(2344);
pc2_pc3_receiver.setKeepRunning(true); pc2_pc3_receiver.setKeepRunning(true);
if (!pc2_pc3_sender.isAlive())
{
pc2_pc3_sender.isAlive();
}
while (keepRunningMainThread) while (keepRunningMainThread)
......
...@@ -11,6 +11,7 @@ import java.io.IOException; ...@@ -11,6 +11,7 @@ import java.io.IOException;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.DatagramSocket; import java.net.DatagramSocket;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.SocketException;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
...@@ -26,63 +27,68 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender extends Thread ...@@ -26,63 +27,68 @@ public class BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender extends Thread
public void run() public void run()
{ {
isRunning = true; try
while (keepRunning)
{ {
try isRunning = true;
DatagramSocket socket = new DatagramSocket(portPC3);
while (keepRunning)
{ {
mutex.acquire(); try
if (!messagesToSend.isEmpty())
{ {
Pdu tempPdu = messagesToSend.get(0); mutex.acquire();
messagesToSend.remove(0); if (!messagesToSend.isEmpty())
mutex.release();
if (tempPdu.getPduType() != DISPDUType.COMMENT)
{
System.out.println("Received Message Is Not A CommentPDU. Skiped.");
}
else
{ {
//Sending via UNICAST Pdu tempPdu = messagesToSend.get(0);
ByteArrayOutputStream baos = new ByteArrayOutputStream(); messagesToSend.remove(0);
DataOutputStream dos = new DataOutputStream(baos); mutex.release();
byte[] buffer;
if (tempPdu.getPduType() != DISPDUType.COMMENT)
try
{ {
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); //Sending via UNICAST
} ByteArrayOutputStream baos = new ByteArrayOutputStream();
buffer = baos.toByteArray(); DataOutputStream dos = new DataOutputStream(baos);
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, pc3IP, portPC3); byte[] buffer;
try try
{ {
DatagramSocket socket = new DatagramSocket(portPC3); tempPdu.marshal(dos);
socket.send(packet); }
} catch (Exception ex)
catch (IOException ex) {
{ Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, 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(); Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
keepRunning = false;
} }
} }
catch (InterruptedException ex) }
{ catch (SocketException ex)
Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex); {
} Logger.getLogger(BRE_KNO_MCC_PC2_PC3_UNICAST_PduSender.class.getName()).log(Level.SEVERE, null, ex);
} }
} }
......
...@@ -17,6 +17,7 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver ...@@ -17,6 +17,7 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
static int portPC3; static int portPC3;
static InetAddress ipPC2; static InetAddress ipPC2;
static DatagramSocket socket;
public static void main(String[] args) public static void main(String[] args)
{ {
...@@ -42,7 +43,9 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver ...@@ -42,7 +43,9 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
try try
{ {
DatagramSocket clientSocket = new DatagramSocket(portPC3); DatagramSocket clientSocket = new DatagramSocket(portPC3);
socket = new DatagramSocket(2344);
while (keepRunning) while (keepRunning)
{ {
DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length); DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length);
...@@ -107,7 +110,6 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver ...@@ -107,7 +110,6 @@ public class BRE_KNO_MCC_PC3_PC2_UNICAST_PduReceiver
DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), ipPC2, 2344); DatagramPacket packet = new DatagramPacket(message.getBytes(), message.length(), ipPC2, 2344);
try try
{ {
DatagramSocket socket = new DatagramSocket(2344);
socket.send(packet); socket.send(packet);
} }
catch (IOException ex) catch (IOException ex)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment