Python-Dokumentation Lesen der Socket-Programmierung HOWTO

https://docs.python.org/ja/3/howto/sockets.html Dies ist ein Memo, wenn ich das lese. Da es sich beim Lesen um eine Gehirndeponie handelt, wird empfohlen, dass diejenigen, die nur den Inhalt wissen möchten, das Dokument direkt lesen. python3.8.2

Warum die Dokumentation lesen?

――Ich möchte das Dokument hier lesen und die Funktionen kennen, die tatsächlich nützlich sind, ohne es zu wissen. ――Es ist ungefähr 8 Jahre her, seit ich angefangen habe, Python zu verwenden, aber ich mache es in einer Atmosphäre, daher gibt es noch einige Funktionen, die ich nicht kenne. ――Ich benutze gelegentlich flask ・ django und zmq, aber ich habe gelebt, während ich von der internen Socket-Programmierung weggeschaut habe. »Wie auch immer, ich möchte wissen, was eine Steckdose tut.

Überblick

Sie sollten in der Lage sein, genügend Informationen zu erhalten, um sie ohne Verlegenheit verwenden zu können

Und das

Memo

Geschichte

--Socket wurde von Berkeley als Teil von BSD Unix erfunden und wurde sehr beliebt

Socket erstellen

client side

client_socket.py


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("qiita.com", 80))

nur das. Einfach

server side

server_side.py


#Machen Sie einen Server-Socket
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind((socket.gethostname(), 80))
serversocket.listen(5)

# serving
while True:
  clientsocket, address = serversocket.accept()
  # threaded server
  ct = client_thread(clientsocket)
  ct.run()

Es ist ein bisschen mehr, aber es ist ziemlich einfach.

Sockel Beispiel

――Ich erkläre mit einem konkreteren Beispiel

Binärdaten

Trennen

Nicht blockierende Steckdose

Implementierung

Ich habe mir die Implementierung kurz angesehen, weil es eine große Sache war https://github.com/python/cpython/blob/3.8/Lib/socket.py#L213

Impressionen

――Ich denke, es ist besser, andere als INET und STREAM zu betrachten, um tiefer zu verstehen. ――Ich werde es in Zukunft nicht direkt verwenden, aber mir wurde klar, dass zmq eine ziemlich gute Abstraktion ist.

Recommended Posts

Python-Dokumentation Lesen der Socket-Programmierung HOWTO
Python-Dokument lesen Deskriptor HowTo
Python-Programmierhinweis
[Hinweis] Datei lesen ~ Python ~
3. 3. KI-Programmierung mit Python
Pyc-Datei lesen (Python 3.5.2)
Wettbewerbsfähige Programmierung mit Python
Python-Grundlagen: Socket, Dnspython
Python-Programmierung mit Excel
LEGO Mindstorms 51515 Python-Programmierung
Python3> Dokumentationszeichenfolge / Dokumentzeichenfolge
Lesen einer externen Python-Datei
[Python] CSV-Dateien lesen
Programmieren mit Python Flask
Programmieren mit Python und Tkinter
Python Programming Workshop - Super Einführung Vol.3
Atcoder Acing Programmierwettbewerb Python
Zusammenfassung des Python-Webprogrammierartikels
Paiza Python Primer 1 Programmieren lernen
TXT-Dateien mit Python lesen
Python Machine Learning Programming> Schlüsselwörter
Python Programming Workshop - Super Einführung Vol.4
Eine Einführung in die Python-Programmierung
Netzwerkprogrammierung mit Python Scapy