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
42 lines
1.2 KiB
/* Angelehnt an Kurose/Ross Computernetzwerke (bis 5e Java, ab 6e Python) */
|
|
|
|
package socket;
|
|
|
|
import java.net.*;
|
|
|
|
class Server1 {
|
|
public static void main(String args[]) throws Exception {
|
|
int port = 36037;
|
|
|
|
DatagramSocket serverSocket = new DatagramSocket(port);
|
|
|
|
byte[] receiveData = new byte[1024];
|
|
byte[] sendData = new byte[1024];
|
|
String message;
|
|
String modifiedMessage;
|
|
|
|
System.out.println("Server1 gestartet. Warte auf eingehende Requests...");
|
|
|
|
while (true) {
|
|
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
|
|
serverSocket.receive(receivePacket);
|
|
message = new String(receivePacket.getData(), 0, receivePacket.getLength());
|
|
|
|
InetAddress clientAddress = receivePacket.getAddress();
|
|
int clientSrcPort = receivePacket.getPort();
|
|
|
|
System.out.println("Request von Client1 " + clientAddress + ":" + clientSrcPort + " empfangen. Erzeuge und sende Antwort...");
|
|
|
|
if (message.equals("exit"))
|
|
{
|
|
break;
|
|
}
|
|
|
|
modifiedMessage = message.toUpperCase();
|
|
sendData = modifiedMessage.getBytes();
|
|
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, clientAddress, clientSrcPort);
|
|
serverSocket.send(sendPacket);
|
|
}
|
|
serverSocket.close();
|
|
}
|
|
}
|