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.

42 lines
1.9 KiB

  1. package verteiltesysteme.socket.timecounter;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.net.DatagramPacket;
  5. import java.net.DatagramSocket;
  6. import java.net.InetAddress;
  7. import java.text.DateFormat;
  8. import java.text.SimpleDateFormat;
  9. import java.util.Date;
  10. class UDPTimeCounterClient {
  11. public static void main(String args[]) throws Exception {
  12. String hostname = "192.168.73.158";
  13. int udpPort = 36038;
  14. BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
  15. DatagramSocket clientSocket = new DatagramSocket();
  16. InetAddress IPAddress = InetAddress.getByName(hostname);
  17. byte[] sendData = new byte[1024];
  18. byte[] receiveData = new byte[1024];
  19. DateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
  20. System.out.println("Bitte geben Sie eine Zahl ein: ");
  21. Long number = new Long(inFromUser.readLine());
  22. sendData = number.toString().getBytes();
  23. System.out.println(System.lineSeparator());
  24. System.out.println("Zeit vor Versand = " + System.currentTimeMillis() + " " + df.format(new Date(System.currentTimeMillis())));
  25. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, udpPort);
  26. clientSocket.send(sendPacket);
  27. System.out.println("Zeit nach Versand = " + System.currentTimeMillis() + " " + df.format(new Date(System.currentTimeMillis())));
  28. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  29. clientSocket.receive(receivePacket);
  30. System.out.println("Zeit nach Empfang = " + System.currentTimeMillis() + " " + df.format(new Date(System.currentTimeMillis())));
  31. System.out.println(System.lineSeparator());
  32. String result = new String(receivePacket.getData());
  33. System.out.println("Ausgabe vom Server:" + System.lineSeparator() + result);
  34. System.out.println(System.lineSeparator());
  35. clientSocket.close();
  36. }
  37. }