Heim > Artikel > Backend-Entwicklung > Einfaches Beispiel für die Netzwerkprogrammierung eines Python-Clients und -Servers
Dieser Artikel stellt hauptsächlich PythonSimple NetworkProgrammierung vor und beschreibt die spezifischen Implementierungsfähigkeiten und zugehörigen Hinweise des Clients und Servers, die erforderlich sind Freunde können siehe
Dieser Artikel beschreibt die einfache Netzwerkprogrammierung in Python mit Beispielen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Inhaltsverzeichnis
1. Client (client.py)
2 .py) )
1. Client (client.py)
import socket import sys port = 70 host = sys.argv[1] filename = sys.argv[2] s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host, port)) fd = s.makefile("rw", 0) fd.write(filename + "\n") for line in fd.readlines(): sys.stdout.write(line)
Das Programm erstellt einen Socket über socket.socket() und die Parameter sagen: Das System benötigt einen Internet-Socket für die TCP-Kommunikation. Das Programm stellt dann eine Verbindung zum Remote-Hostnamen her und stellt den Dateinamen bereit. Nachdem Sie endlich die Antwort erhalten haben, drucken Sie sie auf dem Bildschirm aus.
Test
python client.py quux.org /
Anzeige
iWelcome to gopher at quux.org! fake (NULL) 0 i fake (NULL) 0 iThis server has a lot of information of historic interest, fake (NULL) 0 ifunny, or just plain entertaining -- all presented in Gopher. fake (NULL) 0 iThere are many mirrors here of rare or valuable files with the fake (NULL) 0 iaim to preserve them in case their host disappears. PLEASE READ fake (NULL) 0 i"About This Server" FOR IMPORTANT NOTES AND LEGAL INFORMATION. fake (NULL) 0 i fake (NULL) 0 0About This Server /About This Server.txt gopher.quux.org 70 + 1Archives /Archives gopher.quux.org 70 + 1Books /Books gopher.quux.org 70 + 1Communication /Communication gopher.quux.org 70 + iThis directory contains the entire text of the book fake (NULL) 0 i"We the Media: Grassroots Journalism by the People, for the People" fake (NULL) 0 iby Dan Gillmor in various formats. fake (NULL) 0 i fake (NULL) 0 iFeel free to download and enjoy. fake (NULL) 0 1Computers /Computers gopher.quux.org 70 + 1Current Issues and Events (Updated Apr. 23, 2002) /Current gopher.quux.org 70 + 1Development Projects /devel gopher.quux.org 70 + 0Gopher's 10th Anniversary /3.0.0.txt gopher.quux.org 70 1Government, Politics, Law, and Conflict /Government gopher.quux.org 70 + 0How To Help /How To Help.txt gopher.quux.org 70 + 1Humor and Fun /Humor and Fun gopher.quux.org 70 + 1Index to Quux.Org /Archives/index gopher.quux.org 70 1Internet /Internet gopher.quux.org 70 + 1Other Gopher Servers /Software/Gopher/servers gopher.quux.org 70 1People /People gopher.quux.org 70 + 1Reference /Reference gopher.quux.org 70 + 1Software and Downloads /Software gopher.quux.org 70 + 1The Gopher Project /Software/Gopher gopher.quux.org 70 0What's New /whatsnew.txt gopher.quux.org 70 +
2. Server (server.py)
# coding: utf-8 import socket host = '' port = 51421 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind((host, port)) s.listen(1) #每次最多只有一个等候处理 print "Server is running on port %d; press Ctrl-C to terminate." %port while 1: clientsock, clientaddr = s.accept() clientfile = clientsock.makefile('rw', 0) clientfile.write("Welcome, " + str(clientaddr) + "\n") clientfile.write("Please enter a string: ") line = clientfile.readline().strip() clientfile.write("You entered %d characters. \n" %len(line)) clientfile.close() clientsock.close()
Erstellen Sie einen Socket, stellen Sie ihn auf Wiederverwendbarkeit (wiederverwendbar) ein, binden Sie die Portnummer 51421 (jeder Wert größer als 1024 ist optional), rufen Sie die Funktion listen() auf und warten Sie auf Anfragen vom Client sind so eingestellt, dass höchstens ein Link gleichzeitig auf die Verarbeitung wartet.
Führen Sie ein Beispiel ausFühren Sie zuerst server.py auspython server.pyÖffnen Sie ein anderes Terminal und stellen Sie eine Verbindung zu Port 51421 von localhost her.
Das obige ist der detaillierte Inhalt vonEinfaches Beispiel für die Netzwerkprogrammierung eines Python-Clients und -Servers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!