Solved time praktikum

main
Victor Hans-Georg Waitz 2025-10-12 15:41:13 +02:00
parent 65b08e1863
commit 491ee3c549
2 changed files with 67 additions and 8 deletions

View File

@ -1,8 +1,35 @@
package var.sockets.udp.time; package var.sockets.udp.time;
public class TimeClient { import java.net.*;
public static void main(String[] args) { public class TimeClient {
// TODO Auto-generated method stub 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) {
System.out.println("Sending empty Datagram...");
byte[] data = {};
try (DatagramSocket socket = new DatagramSocket()) {
socket.setSoTimeout(TIMEOUT);
InetAddress iaddr = InetAddress.getByName(HOST);
DatagramPacket packetOut = new DatagramPacket(data, 0, iaddr, PORT);
socket.send(packetOut);
DatagramPacket packetIn = new DatagramPacket(new byte[BUFSIZE], BUFSIZE);
socket.receive(packetIn);
String received = new String(packetIn.getData(), 0, packetIn.getLength());
System.out.println("Received: " + received);
}
catch (SocketTimeoutException e) {
System.err.println("Timeout: " + e.getMessage());
}
catch (Exception e) {
System.err.println(e);
}
}
} }

View File

@ -1,8 +1,40 @@
package var.sockets.udp.time; package var.sockets.udp.time;
public class TimeServer { import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.util.Date;
public static void main(String[] args) { public class TimeServer {
// TODO Auto-generated method stub 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);
DatagramPacket packetOut = new DatagramPacket(new byte[BUFSIZE], BUFSIZE);
System.out.println("Time Server gestarted ...");
while (true) {
System.out.println("\nListening: ");
socket.receive(packetIn);
System.out.println(
"Received: " + packetIn.getLength() + " bytes: " + new String(packetIn.getData()));
packetOut.setSocketAddress(packetIn.getSocketAddress());
Date currentStamp = new Date();
String currentStampString = currentStamp.toString();
byte[] outData = currentStampString.getBytes();
packetOut.setData(outData);
packetOut.setLength(outData.length);
socket.send(packetOut);
}
}
catch (IOException e) {
System.err.println(e);
}
}
} }