Looking for sockets Keywords? Try Ask4Keywords

socketsPython-TCP-Sockets; einfache Server- und Client-Beispiele mit Annotation


Bemerkungen

Dies sind zwei Beispielprogramme, die zusammenarbeiten. Einer ist ein einfacher Server, der andere ein einfacher Client. Starten Sie den Server in einem Fenster:

python tserver.py

Bearbeiten Sie ggf. die Serveradresse in der Client-Quelldatei. Dann renne

python tclient.py

Der Client stellt eine Verbindung zum Server her, fragt dann nach Eingaben von der Konsole und sendet sie an den Server. Für jeden empfangenen Puffer fügt der Server einige gespeicherte Informationen hinzu und sendet sie an den Client zurück.

Ich habe einige Fallstricke behandelt, die beim Portieren von Code zwischen Python2 und Python3 auftreten - insbesondere die Unterschiede zwischen Bytes und Strings. Eine vollständige Erklärung dazu würde viel Platz erfordern und vom socket ablenken.

Vorsichtsmaßnahmen:

Das Server-Beispiel konzentriert sich insbesondere auf die socket Vorgänge, die ein Server ausführen wird, ist jedoch der Übersichtlichkeit halber serialisiert. Daher akzeptiert es nur eine einzelne Verbindung gleichzeitig. Ein "echtes" Programm würde entweder einen neuen Prozess für die Verarbeitung jeder Verbindung select oder select , um mehrere Verbindungen gleichzeitig auszuführen.

Echte Programme würden Ausnahmen bei den verschiedenen Socket-Aufrufen behandeln und ordnungsgemäß wiederherstellen oder beenden.

Echte Programme müssten sich um die Nachrichtengrenzen kümmern (da TCP diese nicht beachtet). Da diese Programme zu einem Zeitpunkt, der durch Benutzereingaben ausgelöst wird, einzelne Puffer senden, wurde dies ignoriert.

Python-TCP-Sockets; einfache Server- und Client-Beispiele mit Annotation Verwandte Beispiele