lager:lok_netze:tcp_python
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
lager:lok_netze:tcp_python [01.11.2019 08:18] – richard | lager:lok_netze:tcp_python [04.02.2025 12:09] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ~~DISCUSSION|Ergänzungen~~ | + | ~~DISCUSSION:closed|Ergänzungen~~ |
====== Programmierung Übung zu TCP mit python ====== | ====== Programmierung Übung zu TCP mit python ====== | ||
Zeile 63: | Zeile 63: | ||
print(' | print(' | ||
</ | </ | ||
+ | |||
+ | ==== Interaktiver Echo-Client ==== | ||
+ | |||
+ | <file python echo_client_interactive.py> | ||
+ | # | ||
+ | |||
+ | import socket | ||
+ | |||
+ | HOST = ' | ||
+ | # PORT = 65432 # Port des Servers eintragen | ||
+ | PORT = 50000 | ||
+ | |||
+ | host = input(' | ||
+ | port = input(' | ||
+ | |||
+ | if host != '': | ||
+ | HOST = host | ||
+ | if port != '': | ||
+ | PORT = int(port, 10) | ||
+ | |||
+ | with socket.socket(socket.AF_INET, | ||
+ | s.connect((HOST, | ||
+ | written = '' | ||
+ | while True: | ||
+ | written = input(' | ||
+ | if written == ' | ||
+ | break; | ||
+ | s.sendall(bytearray(written, | ||
+ | data = s.recv(1024) | ||
+ | print(' | ||
+ | |||
+ | print(' | ||
+ | </ | ||
+ | |||
Zeile 76: | Zeile 110: | ||
<file python tcp_multi_server.py> | <file python tcp_multi_server.py> | ||
+ | # | ||
+ | |||
import select, socket, sys, queue | import select, socket, sys, queue | ||
server = socket.socket(socket.AF_INET, | server = socket.socket(socket.AF_INET, | ||
Zeile 125: | Zeile 161: | ||
===== Keystroke als Command Line Handler ===== | ===== Keystroke als Command Line Handler ===== | ||
+ | ACHTUNG: Das folgende Beispiel funktioniert nur, wenn das Script direkt in der Shell ausgeführt wird. Hierzu muss zunächst die Datei ausführbar gemacht werden. Mit folgendem Befehl kann dies getan werden: | ||
+ | |||
+ | < | ||
+ | |||
+ | Das folgende Bespiel wartet dauerhaft auf eine Eingabe und führt je nach Tastedruck Programmcode aus. | ||
<file python keystroke_sample.py> | <file python keystroke_sample.py> | ||
+ | # | ||
+ | |||
import sys, termios, tty, os, time | import sys, termios, tty, os, time | ||
Zeile 150: | Zeile 193: | ||
time.sleep(1) | time.sleep(1) | ||
</ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
lager/lok_netze/tcp_python.1572596336.txt.gz · Zuletzt geändert: 04.02.2025 12:10 (Externe Bearbeitung)