diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastConsumer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastConsumer.java new file mode 100644 index 0000000..82c992c --- /dev/null +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastConsumer.java @@ -0,0 +1,23 @@ +package verteiltesysteme.socket.multicast; + +import java.net.*; + +class UDPMulticastConsumer { + public static void main(String args[]) throws Exception { + String groupname = "224.1.1.1"; + int udpPort = 36040; + @SuppressWarnings("resource") + MulticastSocket mcastSocket = new MulticastSocket(udpPort); + InetAddress IPAddress = InetAddress.getByName(groupname); + mcastSocket.joinGroup(IPAddress); + + byte[] receiveData = new byte[1024]; + + while (true) { + DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); + mcastSocket.receive(receivePacket); + String sentence = new String(receivePacket.getData(), 0, receivePacket.getLength()); + System.out.println(sentence); + } + } +} diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastProducer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastProducer.java new file mode 100644 index 0000000..2779114 --- /dev/null +++ b/VerteilteSysteme-Examples/src/verteiltesysteme/socket/multicast/UDPMulticastProducer.java @@ -0,0 +1,25 @@ +package verteiltesysteme.socket.multicast; + +import java.io.*; +import java.net.*; + +class UDPMulticastProducer { + public static void main(String args[]) throws Exception { + String groupname = "224.1.1.1"; + int udpPort = 36040; + BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); + MulticastSocket mcastSocket = new MulticastSocket(udpPort); + InetAddress IPAddress = InetAddress.getByName(groupname); + mcastSocket.joinGroup(IPAddress); + + byte[] sendData = new byte[1024]; + + String sentence = inFromUser.readLine(); + sendData = sentence.getBytes(); + + DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, udpPort); + mcastSocket.send(sendPacket); + mcastSocket.leaveGroup(IPAddress); + mcastSocket.close(); + } +}