Ich habe momentan ein kleines Problem und hoffe man kann mir hier vielleicht sogar auf die Schnelle helfen.
Unzwar habe ich folgende Aufgabenstellung bekommen:
Als Vorgaben haben wir 2 Beispielklassen für einen Server und einen Client bekommen:
Ich hab nun ein bisschen das Problem das ich nicht sicher bin wie ich die Sache angehen soll. Wie genau bekomme ich das hin gleichzeitig den Server und den Client laufen zu haben bzw. so im Sinner der Aufgabe vom Client ne Anfrage senden zu lassen und vom Server eine Antwort zurück an den Client.
Unzwar habe ich folgende Aufgabenstellung bekommen:
Code:
Implementieren Sie eine einfache Client-Server-Anwendung mit UDP:
• Die Server-Anwendung wartet auf eine Nachricht, die aus einem einzelnen deutschen Wort bestehen soll,
vom Client. Wenn eine solche eintrifft, schlägt der Server das Wort in einem einfachen
deutsch-englischen W¨orterbuch nach und sendet dem Client das entsprechende englische Wort
zur¨uck. Wenn ihm das Wort unbekannt ist, sendet er ”Word unknown”.
• Die Client-Anwendung wartet darauf, dass der Nutzer ein Wort eingibt und
mit Enter best¨atigt. Anschließend wird das Wort an den Server gesendet
und die im Folgenden vom Server zur¨uckgesendete Nachricht ausgegeben.
Als Vorgaben haben wir 2 Beispielklassen für einen Server und einen Client bekommen:
Java:
public class Server {
public static void main(String[] args) {
try {
int port=5555;
DatagramSocket s = new DatagramSocket(port);
byte[] buffer = new byte[256];
DatagramPacket p = new DatagramPacket(buffer, buffer.length);
s.receive(p); // blockiert
String mes = new String(buffer, 0, p.getLength());
System.out.println(mes);
System.out.println(p.getAddress());
System.out.println(p.getPort());
s.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
Java:
public class Client {
public static void main(String[] args) {
try {
String host = "localhost";
int port=5555; InetAddress ia = InetAddress.getByName(host);
DatagramSocket sock = new DatagramSocket();
byte[] buffer = "Hallo".getBytes();
DatagramPacket packet = new DatagramPacket(buffer, buffer.length,ia, port);
sock.send(packet);
sock.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
Ich hab nun ein bisschen das Problem das ich nicht sicher bin wie ich die Sache angehen soll. Wie genau bekomme ich das hin gleichzeitig den Server und den Client laufen zu haben bzw. so im Sinner der Aufgabe vom Client ne Anfrage senden zu lassen und vom Server eine Antwort zurück an den Client.