package verteiltesysteme.socket.timecounter; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; class UDPTimeCounterServer { private static long counter = 0; public static void main(String args[]) throws Exception { int udpPort = 36038; @SuppressWarnings("resource") DatagramSocket serverSocket = new DatagramSocket(udpPort); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); while (true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); long number = new Long(new String(receivePacket.getData(), 0, receivePacket.getLength())); InetAddress IPAddress = receivePacket.getAddress(); int clientSrcPort = receivePacket.getPort(); counter += number; sendData = (Long.toString(counter) + " Zeit: " + System.currentTimeMillis() + " " + df.format(new Date(System.currentTimeMillis()))).getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, clientSrcPort); serverSocket.send(sendPacket); } } }