English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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().
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).
my_socket.connect()
Diese Methode startet aktiv den TCP-Server-Verbindung.
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.
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
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