Kommunikationsmechanismen  | 
       
         | 
     
     
        | 
       named pipes
         | 
     
     
        | 
       sockets
         | 
     
     
        | 
       streams
         | 
     
     
        | 
       shared memory
  | 
  |  | 
     
     
       ?  | 
       Unterschiede?
         | 
     
     
       Entfernung  | 
       der Prozesse in einem Rechnernetz
  | 
        | 
       
-  auf einer Maschine
 -  innerhalb eines Dateisystems
 -  LAN
 -  WAN
  
  | 
  |  | 
     
     
       named pipes  | 
       Kommunikation innerhalb eines
				    Dateisystems
  | 
  |  | 
     
     
       Anonyme pipes  | 
        | 
  |  | 
     
     
       Named pipes  | 
       gleiche Wirkung:
  | 
        | 
       
mknod "/tmp/pipe" p 
who > /tmp/pipe & 
wc -l </tmp/pipe 
rm /tmp/pipe 
 
  | 
  |  | 
     
     
        | 
       Die pipe kann von mehr als zwei Prozessen genutzt werden.
  | 
  |  | 
     
     
       client server  | 
       allereinfachste Version mit named pipes:
  | 
        | 
       
mknod message p 
mknod answer  p 
server <message > answer  & 
client <answer  > message & 
... 
rm message client 
 
  | 
  |  | 
     
     
       n Erzeuger  ein Verbraucher  | 
       
mknod pipe p 
consumer  < pipe & 
producer1 > pipe & 
producer2 > pipe & 
... 
producerN > pipe & 
 
  | 
  |  | 
     
     
       sockets  | 
       Kommunikation im WAN
  | 
        | 
       
- unsymmetrische Kommunikation: client server
 - server horcht auf einem port
 - client initiiert die Verbindung
  
  | 
  |  | 
     
     
       in Tcl  | 
       
         | 
     
     
       Klient  | 
        | 
        | 
       
öffnet einen Dateideskriptor für einen client socket
         | 
     
     
       Server  | 
       
socket -server <opencommand>  <port>  
  | 
        | 
       
Das <opencommand> Kommando wird beim Öffnen einer Verbindung zu einem Klienten
auf dem Server ausgeführt
  | 
  |  | 
     
     
       asynchrones Lesen  | 
       von einem Eingabestrom
  | 
        | 
       
fileevent <filedesc> readable <command>  
  | 
        | 
       
Sowie Daten im Eingabestrom zur Verarbeitung bereitliegen,
wird <command> ausgeführt
  | 
  |  | 
     
     
        | 
       Ein-/Ausgabe über eine Ereignis-Schleife (event loop) abarbeiten.
         | 
     
     
        | 
       Eigene I/O Ereignisse (events)
  | 
  |  | 
     
     
       Einfachster server  | 
       echo server
  | 
        | 
       
Nimmt seine Eingaben und schickt sie an die Absender zurück
  | 
  |  | 
     
     
        | 
       Wichtige Testarchitektur für den Kommunikationstest
         | 
     
     
        | 
        |