Home > Article > Backend Development > Simple network programming example of Python client and server
This article mainly introduces PythonSimple NetworkProgramming, and details the specific implementation skills and related Notes of the client and server, required Friends can refer to
This article describes simple network programming in Python with examples. Share it with everyone for your reference, the details are as follows:
Content directory
1. Client (client.py)
2. Server (server.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)
The program creates a Socket through socket.socket(), and the parameters tell the system what it needs An Internet Socket for TCP communication. The program then connects to the remote hostname and provides the file name. After finally getting the response, print it on the screen.
Test
python client.py quux.org /
Display
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()
Create a socket, set it to be reusable (reusable), bind the port number 51421 (any value greater than 1024 is optional), call the listen() function , and start waiting for the request from the client. Set up to have at most one link waiting to be processed.
MainLoopThe call to the a.accept() function begins. The program stops immediately after connecting to a client to receive user input.
Run an example
First run server.py
python server.py
Open another terminal and connect to the 51421 port of localhost.
jihite@ubuntu:~/web$ telnet localhost 51421 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Welcome, ('127.0.0.1', 59853) Please enter a string: mm You entered 2 characters. Connection closed by foreign host.
The above is the detailed content of Simple network programming example of Python client and server. For more information, please follow other related articles on the PHP Chinese website!