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.

33 lines
1.2 KiB

6 years ago
6 years ago
  1. /* Angelehnt an Kurose/Ross Computernetzwerke (bis 5e Java, ab 6e Python) */
  2. package verteiltesysteme.socket.simple;
  3. import java.net.*;
  4. class UDPServer {
  5. public static void main(String args[]) throws Exception {
  6. int udpPort = 36037;
  7. @SuppressWarnings("resource")
  8. DatagramSocket serverSocket = new DatagramSocket(udpPort);
  9. byte[] receiveData = new byte[1024];
  10. byte[] sendData = new byte[1024];
  11. System.out.println("UDP Server started. Waiting for incoming requests...");
  12. while (true) {
  13. DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
  14. serverSocket.receive(receivePacket);
  15. String sentence = new String(receivePacket.getData(), 0, receivePacket.getLength());
  16. InetAddress IPAddress = receivePacket.getAddress();
  17. int clientSrcPort = receivePacket.getPort();
  18. System.out.println("Received request from client " + IPAddress + ":" + clientSrcPort + " generating response...");
  19. String capitalizedSentence = sentence.toUpperCase();
  20. sendData = capitalizedSentence.getBytes();
  21. DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, clientSrcPort);
  22. serverSocket.send(sendPacket);
  23. }
  24. }
  25. }