• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python客户端与服务端的简单网络编程示例

python 搞代码 4年前 (2022-01-09) 51次浏览 已收录 0个评论

这篇文章主要介绍了Python简单网络编程,详细介绍了客户端与服务端的具体实现技巧与相关注意事项,需要的朋友可以参考下

本文实例讲述了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 +1So<mark style="color:transparent">本文来源gaodaimacom搞#^代%!码&网*</mark>ftware 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()

建立一个socket,设置成可复用的(reusable),绑定端口号51421(可选大于1024的任一值),调用listen()函数,开始等待来自客户端的请求,同时设定最多只有一个等候处理的链接。

主循环对a.accept()函数调用开始,程序连接一个客户端后立马停止,接收用户的输入。

运行一个例子

首先运行server.py

python server.py

另开一个终端,连接localhost的51421端口。 

jihite@ubuntu:~/web$ telnet localhost 51421Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.Welcome, ('127.0.0.1', 59853)Please enter a string: mmYou entered 2 characters.Connection closed by foreign host.

以上就是Python客户端与服务端的简单网络编程示例的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python客户端与服务端的简单网络编程示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址