Der Python-Socket vervollständigt die einfache Kommunikation

coldplay.xixi
Freigeben: 2020-12-25 17:29:19
nach vorne
6233 Leute haben es durchsucht

Python-Tutorial Kolumne stellt die Socket-Kommunikationsmethode vor

Der Python-Socket vervollständigt die einfache Kommunikation

Empfohlen (kostenlos): Python-Tutorial

Einführung in Socket

Buchse wird auch „Buchse“ genannt Word“ sendet der Socket Daten über das UDP/TCP-Protokoll, um eine einfache Kommunikation zwischen zwei Maschinen zu erreichen.

Hinweis: Wenn Sie Socket verwenden möchten, um eine einfache Kommunikation zwischen zwei Maschinen zu erreichen, stellen Sie bitte zunächst sicher, dass die beiden Maschinen mit demselben lokalen Netzwerk verbunden sind. Natürlich kann Socket auch die Kommunikation zwischen Maschinen realisieren. Sie müssen lediglich die IP des Verbindungsobjekts auf 127.0.0.1 setzen, was die lokale IP ist.

Beispiele

Hier werden nur einige praktische Funktionen gezeigt.


.
Funktion Beschreibung
socket.socket() Erstellen Sie einen Socket.
socket.bind() An eine IP und einen Port binden. Die eingehenden Parameter sind Tupel
socket.recv() Daten akzeptieren
socket.send() Daten senden
socket.close() Schließen Sie den Socket
socket.connect() Mit einer IP und einem Port verbinden
socket.listen() Abhörmodus am TCP-Port aktivieren
socket.accept() Blockieren, auf Verbindung warten

Kommunikation Funktion zwischen Maschinen

Socket-Server

Lassen Sie uns einen socket_server.py erstellen und den folgenden Code eingeben:

import socket
server = socket.socket()server.bind(('0.0.0.0',80))server.listen()sock,addr = server.accept()data = ""while True:
    tmp_data = sock.recv(1024)
    if tmp_data:
        data += tmp_data.decode("utf8")
    else:
        breakprint('%s发送的内容:%s'%(addr[0],data))sock.close()
Nach dem Login kopieren

Hier erstellen wir einen Socket und binden ihn an die Adresse 0,0:80, diese Adresse kann auch in den Namen unseres lokalen Rechners geändert werden. Dann starten wir den Abhörmodus. Nachdem der Benutzer eine Verbindung hergestellt hat, beginnen wir mit dem Empfang von Daten (Hinweis: Vor dem Empfangen von Daten ist eine UTF8-Dekodierung erforderlich).

Socket-Client

Nachdem wir socket_server.py erstellt haben, können wir unseren Client erstellen. Erstellen wir eine Datei namens socket_client.py und geben Sie den folgenden Code ein:

import socket
client = socket.socket()client.connect(('127.0.0.1',80))client.send("Hello,Server.".encode("utf8"))client.close()
Nach dem Login kopieren

Hier sprechen wir nur über die folgenden beiden Funktionen: Verbinden und Senden. Wir haben ein Tupel an die Verbindungsfunktion übergeben, aber natürlich funktioniert auch eine Liste. Das erste Element muss die IP des verbundenen Objekts sein und das zweite ist der Port. Nachdem die Verbindung hergestellt wurde, verwenden wir die Sendefunktion, um die Nachricht zu senden. Vor dem Senden müssen wir den Inhalt in den Typ utf8 kodieren.

Daten an eine Website senden

Wir erstellen eine Datei namens socket_website.py und geben den folgenden Code ein:

import socket
s.connect(('www.baidu.com',443))s.send('HELLO'.encode('utf8'))s.close()
Nach dem Login kopieren

Hier senden wir Daten an baidu.com. Da Baidu das https-Protokoll verwendet, verwenden wir den Port 443. Wenn der Code keinen Fehler meldet, bedeutet dies, dass der Versand erfolgreich war. Zu diesem Zeitpunkt verfügt die Datenbank von Baidu über zusätzliche Textinhaltsdaten mit dem Namen HELLO.

Tipp: Wenn Sie Socket ständig zum Senden von Daten an eine Website oder einen Computer verwenden, führt eine zu große Datenmenge dazu, dass der Speicher der Zieldatenbank/des Zielcomputers voll wird, was zu einem Absturz führt. Dadurch wird ein einfacher legendärer DDoS-Angriff implementiert

Das obige ist der detaillierte Inhalt vonDer Python-Socket vervollständigt die einfache Kommunikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage