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.2 KiB

5 years ago
  1. /* Angelehnt an Kurose/Ross Computernetzwerke (bis 5e Java, ab 6e Python) */
  2. package socket;
  3. import java.net.*;
  4. class Server1 {
  5. public static void main(String args[]) throws Exception {
  6. int port = 36037;
  7. DatagramSocket serverSocket = new DatagramSocket(port);
  8. byte[] receiveData = new byte[1024];
  9. byte[] sendData = new byte[1024];
  10. String message;
  11. String modifiedMessage;
  12. System.out.println("Server1 gestartet. Warte auf eingehende Requests...");
  13. while (true) {
  14. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  15. serverSocket.receive(receivePacket);
  16. message = new String(receivePacket.getData(), 0, receivePacket.getLength());
  17. InetAddress clientAddress = receivePacket.getAddress();
  18. int clientSrcPort = receivePacket.getPort();
  19. System.out.println("Request von Client1 " + clientAddress + ":" + clientSrcPort + " empfangen. Erzeuge und sende Antwort...");
  20. if (message.equals("exit"))
  21. {
  22. break;
  23. }
  24. modifiedMessage = message.toUpperCase();
  25. sendData = modifiedMessage.getBytes();
  26. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientSrcPort);
  27. serverSocket.send(sendPacket);
  28. }
  29. serverSocket.close();
  30. }
  31. }