English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Socket-Programmierung in Python

In bidirektionalen Kommunikationskanälen sind Sockets zwei Endpunkte. Sockets können zwischen Prozessen auf demselben Rechner oder in verschiedenen Kontinenten kommunizieren.

Sockets werden von verschiedenen Typen von Kanälen TCP, UDP realisiert.

Um einen Socket zu erstellen, benötigen wir das Modul socket und die Funktion socket.socket().

Syntax

my_socket = socket.socket(socket_family, socket_type, protocol=0)

Verschiedene Methoden im Server-Socket

my_socket.bind()

Diese Methode wird verwendet, um die Adresse (Paar aus Hostnamen und Portnummern) an den Socket zu binden.

my_socket.listen()

Diese Methode wird verwendet, um einen TCP-Listener zu konfigurieren und zu starten.

my_socket.accept()

Diese Methode wird verwendet, um TCP-Client-Verbindungen zu akzeptieren und auf den Eintreffen der Verbindung zu warten (blockierend).

Verschiedene Methoden im Client-Socket

my_socket.connect()

Diese Methode startet aktiv den TCP-Server-Verbindung.

Allgemeine Socket-Methode

my_socket.recv()

Diese Methode empfangt TCP-Nachrichten.

my_socket.send()

Diese Methode überträgt TCP-Nachrichten.

my_socket.recvfrom()

Diese Methode empfangt UDP-Nachrichten.

my_socket.sendto()

Diese Methode überträgt UDP-Nachrichten.

my_socket.close()

Diese Methode schließt den Socket.

my_socket.gethostname()

Diese Methode gibt den Rechnernamen zurück.

Server-Stecker

Beispiel

import socket
my_socket = socket.socket()      # Erstellen eines Socket-Objekts
my_host = socket.gethostname()
my_port = 00000# Speichern einer Port-Nummer für Ihre Dienstleistung.
my_socket.bind((my_host, my_port))
my_socket.listen(5)      # Warten auf Verbindung des Clients.
while True:
   cl, myaddr = my_socket.accept()     # Herstellen der Verbindung mit dem Client.
   print ('Got connection from', myaddr)
   cl.send('Thank you for connecting')
   cl.close()     # Schließen der Verbindung

Client-Stecker

Beispiel

import socket      # Importieren des Socket-Moduls
my_socket = socket.socket()      # Erstellen eines Socket-Objekts
my_host = socket.gethostname()     # Ermitteln den Namen des lokalen Rechners
my_port = 00000# Speichern einer Port-Nummer für Ihre Dienstleistung.
my_socket.connect((my_host, my_port))
print (my_socket.recv(1024))
my_socket.close