/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-2021-05-8/disk10-ab-2020-01-10/02-debian-pc2-work/informatik/java-new/aufgaben/tcpip-java.txt


verteilte Systeme
verteilte objektorientierte Systeme

1. Kommunikation 
2. Ausfall eines Rechners darf das verteilte System nicht belasten
3. Nicht jeder Rechner kennt jeden - WWW wächst kontinuierlich 

Kommunikationsart: synchron/asynchron 

Synchron: A und B, können nur kommunizieren, wenn beide zusammen passen - Rendevouz 
Asynchron: A führt Kommunikation aus und macht danach weiter

Kommunikationsmittel: 
1. Speicher
2. Nachrichten: Durch Netzwerk
3. Entfernter Prozedur oder Methodenaufruf
4. Speziell

Organisation der Kommunikation: 

Client-Server-Architektur
Request-Broker-Architektur: Request Broker stehen zwischen Client und Server und leiten Anfrage von Client an entsprechenden Server weiter

Homogene Systeme 

...

Sockets 

Nicht triviale Tätigkeiten:
- Zerteilen der Daten 
- Einpacken der Daten in Pakete mit Adressen, ...
- Eintreffende Pakete auspacken 
- Reihenfolge sicherstellen
- Fehlende Pakete nachfordern 
- Pakete am Zielort wieder zusammensetzen 

Ports 

ServerSocket serversocket = new ServerSocket (Portnummer);
while (true) {
    Socket socket = serversocket.accept();
    
    //
    
    socket.close ();
}

import java.io.*
import java.net.ServerSocket;
import java.net.Socket;

ServerSocket;
Socket;
.accept ();
read ();
write ();

BufferedOutputStream;
BufferedInputStream;
.close ();
.flush ();

Client:

Socket sock = new Socket (host, SERVER_PORT);