Premium Partner

VSK HSLU

Verteilte Systeme und Komponenten HSLU

Verteilte Systeme und Komponenten HSLU


Kartei Details

Karten 28
Sprache Deutsch
Kategorie Informatik
Stufe Andere
Erstellt / Aktualisiert 22.01.2019 / 02.01.2024
Lizenzierung Kein Urheberrechtsschutz (CC0)
Weblink
https://card2brain.ch/box/20190122_vsk
Einbinden
<iframe src="https://card2brain.ch/box/20190122_vsk/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Sie wissen, welche Aktionen nötig sind, um Daten verbindungsorientiert senden zu können. 

-> Whois Abfrage Beispiel

  1. Aufbau: Socket client = new Socket(host, port);
  2. Schreib Objekt erstellen: final PrintWriter out = new PrintWriter(client.getOutputStream());
  3. Lese Objekt erstellen: final BufferedReader in = new. BufferedReader(new InputStreamReader(client.getInputStream());
  4. whois anfrage senden: out.println("hslu.ch");
  5. out.flush();
  6. while ((line = in.readLine()) != null){
        System.out.println(line)
    }

 

 

Sie kennen den Lebenszyklus eines TCP Servers und können die einzelnen Elemente mit einem Java Programm in Beziehung stellen.

  1. Server Socket erzeugen
  2. mit acceptMethode des Server Socket auf Verbindung warten
  3. Ein und Ausgabestrom mit erhaltenem Socket verknüpfen
  4. Daten Lesen / Schreiben
  5. Stream von Client socket schliessen
  6. Bei schritt 2 weitermachen oder ServerSocket schliessen

Erstellung eines nicht blockierenden TCP Server

  1. ServerSocket listen = new ServerSocket(666)
  2. ExecutorService executor = Executors.newFixedSizeThreadPool(5);
  3. Socket client = list.accept())
  4. EchoHandler handler = new EchoHandler(client);
  5. executor.execute(handler);

 

Der EchoHandler implements Runnable

 

@Override

publid void run(){

.....

}

Erstellung eine blockierenden TCP Servers welcher die Zeit zurücksendet (also nichts liest)

 

ServerSocket server = new ServerSocket(666);

while (true){

try (Socket client = server.accept()){

     final DataOutputStream dout = new DataOutputStream(client.getOutputStream()) ;

     dout.write((date.toString()).getBytes()); //hier wird einfach noch was geschriben...

     }catch...{

.....

}

}

Sie wissen was ein Netzwerk Interface ist und wie dieses in Java repräsentiert wird.

Die Klasse NetworkInterface ist dafür gedacht

  • NetworkInterface interfaces = NetworkInterface.getNetworkInterfaces();

InetAdress für die IPS

Auf den zurückgegebenen interaces kann man dann iterieren und die IPs auslesen

Enumeration<InetAdress> inetAdresses = interfaces.getInetAdresses(); //alle Adressen zu einem Interface

 

 

Wie lässt sich die Localhost IP auselsen?

InetAdress addr = InetAdress.getByName("localhost");

Wie lässt sich die Localhost IP auselsen?

InetAdress addr = InetAdress.getByName("localhost");

Was bedeutet Objekt Persistenz

Ein Mechanismus, der den Objektzustand zu einer bestimmten Zeit sichert (persistiert).