Skip to content
Snippets Groups Projects
Commit 9a4223f0 authored by bkii's avatar bkii
Browse files

Almost done

parent 63d3f0b3
No related branches found
No related tags found
No related merge requests found
Showing with 54 additions and 42 deletions
......@@ -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)
{
......
......@@ -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
......
......@@ -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;
......
......@@ -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;
}
}
......@@ -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;
......
......@@ -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;
......
......@@ -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;
......
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