String mit Python-Socket senden
- Sockets in Python
- Integrierte Methoden zum Erreichen von Sockets in Python
- Client und Server in der Socket-Programmierung
- String mit Client-Server-Kommunikation in Python-Socket senden
In diesem Artikel behandeln wir die Sockets, integrierte Methoden in Sockets, den Server und Client und wie man eine erfolgreiche Kommunikation mit Sockets in Python erreicht. Sockets spielen die Rolle der Brücke zwischen der Server- und der Clientseite zum Empfangen und Senden von Daten.
Im Python-Code erstellen wir Sockets, und mit Hilfe von Sockets übergeben wir Strings und stellen die Verbindungen zwischen Client und Server her.
Sockets in Python
Sockets definieren sich als die Endpunkte, die zum Empfangen und Senden von Daten gebaut werden. Es gibt zwei Sockets in einem einzigen Netzwerk; Die Kombination aus einer IP-Adresse und einem Port ist in Sockets vorhanden.
Ein einzelnes Gerät hat n Sockets basierend auf den Portnummern. Für unterschiedliche Protokolle stehen verschiedene Arten von Ports zur Verfügung.
Es folgen einige Standardportnummern und ihre Protokolle.
Protokoll | Beschreibung |
---|---|
HTTP |
Seine Portnummer ist 80 und seine Python-Bibliotheken sind httplib , urllib und xmlrpclib . Der HTTP-Port wird für Webseiten verwendet. |
FTP |
Seine Portnummer ist 20 und seine Python-Bibliotheken sind ftplib und urllib . Dieser Port wird für die Dateiübertragung verwendet. |
NNTP |
Seine Portnummer ist 119 und seine Python-Bibliothek ist nntplib . Dieser Port wird für nicht gesendete Nachrichten verwendet. |
SMTP |
Seine Portnummer ist 25 und seine Python-Bibliothek ist smtplib . Dieser Port wird zum Versenden von E-Mails verwendet. |
TELNET |
Seine Portnummer ist 23 und seine Python-Bibliothek ist telnetlib . Dieser Port wird für Befehlszeilen verwendet. |
Pop3 |
Seine Portnummer ist 110 und seine Python-Bibliothek ist poplib . Dieser Port wird zum Abrufen von E-Mails verwendet. |
Gopher |
Seine Portnummer ist 70 und seine Python-Bibliothek ist gopherlib . Dieser Port wird für die Dokumentenübertragung verwendet. |
Integrierte Methoden zum Erreichen von Sockets in Python
Wir müssen das Socket
-Modul oder -Framework importieren, um Sockets in Python zu erreichen. Alle diese Module bestehen aus eingebauten Methoden, die beim Erstellen von Sockets helfen und auch helfen, sich miteinander zu verbinden.
Im Folgenden sind einige robuste integrierte Methoden für Sockets aufgeführt:
- Die Methode
Socket.socket()
erstellt Sockets. Es ist auf beiden Seiten erforderlich, wie auf der Client- und der Serverseite. - Mit
Socket.accept()
werden die Verbindungen angenommen. Die MethodeSocket.accept()
gibt ein Wertepaar wie (conn, address) zurück. Socket.bind()
wird verwendet, um als Parameter angegebene Adressen zu binden.Socket.close()
stellt dar, dass Socket geschlossen ist.- Mit
Socket.connect()
wird die als Parameter angegebene Adresse verbunden. Socket.listen()
wird verwendet, um Befehle im Server oder Client abzuhören.
Client und Server in der Socket-Programmierung
Im Folgenden erfahren Sie, was Client und Server bei der Socket-Programmierung bedeuten.
Klient
Der Computer oder die Software, die Informationen oder Daten vom Server empfängt, wird als Client bezeichnet. Der Client fordert Dienste vom Server an; Ein Webbrowser ist das beste Beispiel für einen Client.
Server
Ein Server ist ein Programm, Computer oder Gerät zur Verwaltung von Netzwerkressourcen. Ein Server kann dasselbe Gerät, ein lokaler Computer oder ein entfernter Computer sein.
String mit Client-Server-Kommunikation in Python-Socket senden
Wir werden zwei Dateien für die Kommunikation von Sockets in Python-Dateien erstellen – eine für die Serverseite und die andere für die Clientseite. Und es wird zwei Programme zum Verbindungsaufbau geben.
Serverseitig in Python Socket
Wir werden zuerst den serverseitigen Code erstellen. Wir werden integrierte Methoden verwenden, um den serverseitigen Code zu erstellen.
Der Code für die Serverseite lautet wie folgt.
import socket
s = socket.socket(
socket.AF_INET, socket.SOCK_STREAM
) # Socket will create with TCP and IP protocols
# This method will bind the sockets with server and port no
s.bind(("localhost", 9999))
s.listen(1) # Will allow a maximum of one connection to the socket
c, addr = s.accept() # will wait for the client to accept the connection
print("CONNECTION FROM:", str(addr)) # Will display the address of the client
c.send(
b"HELLO, Are you enjoying programming?/Great! Keep going"
) # Will send message to the client after encoding
msg = "Take Care.............."
c.send(msg.encode())
c.close() # Will disconnect from the server
Ausgabe:
This connection is from: ('127.0.0.1', 50802)
Clientseitig in Python Socket
Der Client sendet die Nachricht an den Server, und der Server antwortet auf diese Nachricht. Die Clientseite verwendet auch integrierte Methoden im Code.
Auf der Clientseite erstellen wir zuerst einen Socket. Dann verbinden wir die IP-Adresse und die Portnummer des Hosts.
Code:
import socket
s = socket.socket(
socket.AF_INET, socket.SOCK_STREAM
) # Socket will create with TCP and, IP protocols
s.connect(("localhost", 9999)) # Will connect with the server
# Will receive the reply message string from the server at 1024 B
msg = s.recv(1024)
while msg:
print("Received:" + msg.decode())
msg = s.recv(1024) # Will run as long as the message string is empty
s.close() # Will disconnect the client
Ausgabe:
The message is Revived: HELLO, Are you enjoying programming? Great! Keep going
The message is Revived: Take Care..............
Wenn der angegebene Code ausgeführt wird, wird eine Verbindung zwischen dem Server und dem Client aufgebaut. Und nach der Verbindung zeigt der Client-Bildschirm eine Nachricht an.
Die Nachricht lautet:
HELLO, Are you enjoying programming? Great! Keep going
Und die andere Nachricht wird sein:
Take Care..............
Diese Nachricht wird auf der Clientseite angezeigt, da sie von der Serverseite gesendet wurde. Auf diese Weise wird der Code ausgeführt und gibt eine Ausgabe zum Senden von Zeichenfolgen über Sockets in Python aus.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn