diff --git a/src/main/java/vs/SyslogServer.java b/src/main/java/vs/SyslogServer.java index 6a948d4..16c64cf 100644 --- a/src/main/java/vs/SyslogServer.java +++ b/src/main/java/vs/SyslogServer.java @@ -18,17 +18,30 @@ public class SyslogServer { System.out.println("Syslog Server started on port " + port); try{ + // Create a DatagramSocket to listen for incoming messages DatagramSocket socket = new DatagramSocket(port); + // Buffer to hold incoming messages byte[] buffer = new byte[1024]; - while(true){ - DatagramPacket packet = new DatagramPacket(buffer, buffer.length); + while(true){ + DatagramPacket packet = new DatagramPacket(buffer, buffer.length); + + // Wait for a message to be received (blocking call) + socket.receive(packet); + + // Extract the message from the packet + data; how many bytes were actually received + int length = packet.getLength(); - socket.receive(packet); + String message = new String( + packet.getData(), // complete byte array be aware: packet.getData() returns the entire buffer, not just the received data + packet.getOffset(), // get the offset where the data starts + length, + StandardCharsets.UTF_8); + + System.out.println("Nachricht empfangen!" + message); + } - System.out.println("Nachricht empfangen!"); - } } catch(IOException e){