diff --git a/VAR-UDP/src/var/sockets/udp/messwerte/MesswertClient.java b/VAR-UDP/src/var/sockets/udp/messwerte/MesswertClient.java index 7c06fc7..634ba39 100644 --- a/VAR-UDP/src/var/sockets/udp/messwerte/MesswertClient.java +++ b/VAR-UDP/src/var/sockets/udp/messwerte/MesswertClient.java @@ -1,22 +1,46 @@ package var.sockets.udp.messwerte; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; import java.util.Date; import java.util.Random; public class MesswertClient { + private static final String HOST = "localhost"; + private static final int PORT = 4711; + private static final int BUFSIZE = 512; + private static final int TIMEOUT = 2000; - public static void main(String[] args) { - Random rg = new Random(); - try { - // ... - while (true) { - String jetzt = (new Date()).toString(); - String messung = Double.toString(rg.nextDouble() * 100.0); - // ... - Thread.sleep(5000); - } - } catch (Exception e) { - System.err.println(e); + public static void main(String[] args) { + Random rg = new Random(); + try (DatagramSocket socket = new DatagramSocket()) { + socket.setSoTimeout(TIMEOUT); + + InetAddress iaddr = InetAddress.getByName(HOST); + DatagramPacket packetOut = new DatagramPacket(new byte[0], 0, iaddr, PORT); + + while (true) { + StringBuilder sb = new StringBuilder(); + + sb.append(iaddr).append(":"); + sb.append(PORT).append(" "); + + String jetzt = (new Date()).toString(); + + String messung = Double.toString(rg.nextDouble() * 100.0); + + String data = jetzt + " " + messung; + + packetOut.setData(data.getBytes()); + packetOut.setLength(data.length()); + + socket.send(packetOut); + + Thread.sleep(5000); + } + } catch (Exception e) { + System.err.println(e); + } } - } } diff --git a/VAR-UDP/src/var/sockets/udp/messwerte/MesswertServer.java b/VAR-UDP/src/var/sockets/udp/messwerte/MesswertServer.java index a51fa80..e157256 100644 --- a/VAR-UDP/src/var/sockets/udp/messwerte/MesswertServer.java +++ b/VAR-UDP/src/var/sockets/udp/messwerte/MesswertServer.java @@ -1,8 +1,37 @@ package var.sockets.udp.messwerte; -public class MesswertServer { +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.SocketException; - public static void main(String[] args) { - // TODO Auto-generated method stub - } +public class MesswertServer { + private static final int PORT = 4711; + private static final int BUFSIZE = 512; + + public static void main(String[] args) { + try (DatagramSocket socket = new DatagramSocket(PORT)) { + DatagramPacket packetIn = new DatagramPacket(new byte[BUFSIZE], BUFSIZE); + + System.out.println("Messwerte Server gestartet ..."); + + while(true) { + socket.receive(packetIn); + + String data = packetIn.getAddress().getHostAddress(); + + data += ":" + packetIn.getPort(); + + data += " " + new String(packetIn.getData(), 0, packetIn.getLength()); + + System.out.println(data); + } + + } + catch(SocketException e) { + System.err.println(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + } }