You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.3 KiB

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);
}
}
}