编写一个简单的python服务器程序,求下面代码的逐行注释!!

importsockethost=''port=51423s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.sets... import socket
host=''
port=51423
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()
展开
 我来答
百度网友619cd53fa
2011-09-04 · TA获得超过440个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:261万
展开全部
这个主要是要对socket的基本通讯流程比较熟悉,socket server端的流程是
建立socket
bind到特定的端口
listen指定连接数量
accept接受连接
建立连接后用read/write通讯
完成后用close清理资源

import socket 导入socket库
host='' 指明需要绑定的ip,为空应该是绑定本机所有Ip
port=51423 绑定的端口号
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) 创建socket
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) 设置socket的属性
s.bind((host,port)) 绑定端口
s.listen(1) 设置只允许一个client连接
print ("Server is running on port %d;press Ctrl-C to terminate." % port) 打印信息,提示端口号
while 1: 死循环等待连接
clientsock,clientaddr=s.accept() 等待直至有client连接,分别返回通讯用的socket和client的地址
clientfile=clientsock.makefile('rw',0) 创建用于通讯用的虚拟文件
clientfile.write("Welcome,"+str(clientaddr)+"\n") 向client发送消息
clientfile.write("please enter a string:") 向client发送消息
line=clientfile.readline().strip() 读取client消息
clientfile.write("you entered %d characters.\n" % len(line)) 向client发送消息
clientfile.close() 关闭虚拟文件
clientsock.close() 关闭通讯用socket,通讯结束
追问
大牛,我下面这个程序在windows下,cmd执行C:\Users\hp>Desktop\download.py http://http.us.debian.org/debian/Ls-LR.gz | gunzip | more 报错---'gunzip' 不是内部或外部命令,也不是可运行的程序或批处理文件。怎么回事额??求指点
import urllib,sys
f=urllib.urlopen(sys.argv[1])
while 1:
buf=f.read(2048)
if not len(buf):
break
sys.stdout.write(buf)
追答
gunzip是unix上默认安装的命令,windows上没有,就和你直接在命令行输入gunzip一样。
你可以找一个windows上命令行可以用的压缩软件进行修改
C:\Users\abcd>gunzip
'gunzip' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
htt5156
2011-09-04 · 超过22用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:61.5万
展开全部
你可以在网上下programming python 这本书 里面网络编程那章 基本上就是逐行解释
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式