Qgelm

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
schulung:tcp_beispiel [2021/12/02 11:02] – angelegt Thomasschulung:tcp_beispiel [2022/01/11 08:49] (aktuell) – screen und split Darstellung Thomas
Zeile 10: Zeile 10:
 >  - verbindungslose Kommunikation  >  - verbindungslose Kommunikation 
 >  - wie Versenden von Postkarten, wartet nicht auf Rückantwort... >  - wie Versenden von Postkarten, wartet nicht auf Rückantwort...
 +>  - auch wichtig aber nicht jetzt
  
-Die üblichen Betriebssysteme übernehmen heutzutage die Verarbeitung der ein- und ausgehenden Netzwerkdaten bis zur TCP-Ebene. Eine Software, die so einen TCP-Port nutzen möchte, muss eine vom Betriebssystem bereitgestellte interne Programmierschnittstelle verwenden, die sogenannten Sockets.+Die üblichen Betriebssysteme übernehmen heutzutage die Verarbeitung der ein- und ausgehenden Netzwerkdaten bis zur TCP-Ebene. Eine Software, die so einen TCP-Port nutzen möchte, muss eine vom Betriebssystem bereitgestellte interne Programmierschnittstelle verwenden, die sogenannten //Sockets//.
  
 __Beispiel für **Client** und **Server** in der Programmiersprache Python:__ __Beispiel für **Client** und **Server** in der Programmiersprache Python:__
Zeile 41: Zeile 42:
             conn.sendall(b'Hallo Client!')             conn.sendall(b'Hallo Client!')
 </code> </code>
 +
 +Das kann jetzt ausgeführt werden: 
 +Mit Rechtsklick in neuem Fenster: [[https://qgelm.de/siab/|Konsole]]
 +
 +'' cd Schulung; python3 tcp_server.py''
  
 Und hier der Code des //Clients//: Und hier der Code des //Clients//:
Zeile 58: Zeile 64:
 </code> </code>
  
-Und das ganze läuft dann so ab+Das kann jetzt ebenfalls ausgeführt werden:  
-<uml+Entweder mit Rechtsklick in neuem Fenster: [[https://qgelm.de/siab/|Konsole]] 
-Server <Client: Hallo Server! + 
-Server -> Client: Hallo Client! +oder: Im existierenden Fenster zwei Shells mittels ''screen'' eröffnen (ist übersichtlicher)
-</uml>+<code
 +cd Schulung; screen 
 +Ctrl-A | 
 +Ctrl-A TAB 
 +Ctrl-A C  # das erzeugt eine neue Shell im rechten Teil des Terminals 
 +</code> 
 + 
 +''cd Schulung; python3 tcp_client.py'' 
 + 
 +Und das Ganze läuft dann so ab: 
 + 
 +{{:schulung:computer_hello.png|}}
 ===== Merke: ===== ===== Merke: =====
  
 > TCP ist verbindungsorientiert, d.h. nachdem der Client eine Verbindung aufgebaut hat, können Server und Client bidirektional miteinander kommunizieren. Einen kompletten Kommunikationsverlauf von Beginn durch den Client bis zum Abbau des Kommunikationskanals nennt man eine **Session**. > TCP ist verbindungsorientiert, d.h. nachdem der Client eine Verbindung aufgebaut hat, können Server und Client bidirektional miteinander kommunizieren. Einen kompletten Kommunikationsverlauf von Beginn durch den Client bis zum Abbau des Kommunikationskanals nennt man eine **Session**.
 +
 +Jetzt kann es zu der nächsten, oberen Protokollschicht gehen: [[schulung:HTTP|HTTP]] 
 +