本文實例講述了Python簡單網絡編程。分享給大家供大家參考,具體如下:
內容目錄
1. 客戶端(client.py)
2. 服務端(server.py)
一、客戶端(client.py)
import socketimport sysport = 70host = 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)程序通過socket.socket()建立一個Socket,參數告訴系統需要一個Internet Socket進行TCP通信。接著程序鏈接遠程的主機名,并提供文件名。最后獲得響應后在屏幕上打印出來。
測試
python client.py quux.org /
顯示
iWelcome to gopher at quux.org! fake (NULL) 0i fake (NULL) 0iThis server has a lot of information of historic interest, fake (NULL) 0ifunny, or just plain entertaining -- all presented in Gopher. fake (NULL) 0iThere are many mirrors here of rare or valuable files with the fake (NULL) 0iaim to preserve them in case their host disappears. PLEASE READ fake (NULL) 0i"About This Server" FOR IMPORTANT NOTES AND LEGAL INFORMATION. fake (NULL) 0i fake (NULL) 00About 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) 0i"We the Media: Grassroots Journalism by the People, for the People" fake (NULL) 0iby Dan Gillmor in various formats. fake (NULL) 0i fake (NULL) 0iFeel free to download and enjoy. fake (NULL) 01Computers /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 701Government, 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 701Internet /Internet gopher.quux.org 70 +1Other Gopher Servers /Software/Gopher/servers gopher.quux.org 701People /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 700What's New /whatsnew.txt gopher.quux.org 70 +
二、服務端(server.py)
# coding: utf-8import sockethost = ''port = 51421s = 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." %portwhile 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()            
新聞熱點
疑難解答