客户端脚本
__author__ = 'Administrator'
'''
创建socket
连接服务器
用户输入下载命令
罚送数据到服务器段
接收服务器段发回的数据
保存到一本地一个新的文件
'''
import socket
client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect(("localhost",9090))
while True:
cmd=input("请输下载命令:").strip()
client.send(cmd.encode())
f=open("new.txt","a+")
while True:
date=client.recv(1024)
if date is None:
break
f.write(str(date,encoding="utf-8"))
print("alskdjflk")
f.close()
服务器端脚本
__author__ = 'Administrator'
'''
建立服务器socket
绑定服务器地址
开始监听(多用户的监听)
接收客户段的请求(download file)命令
读取本地的file文件
发送本地文件到客户断
'''
import socket
service=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
service.bind(("localhost",9090))
service.listen(6)
while True:
conn,addr=service.accept()
'''不停的接收客户段的连接请求(但是实际只能接收到一c个链接,其他链接只是被挂着,
只有当前链接被释放的时候才可以进行下一个链接的作),此处相当与所有的
客户端在此排队等候'''
while True:
'''
客户段与服务器建立连接后,进入客户端与服务器段的交互
'''
print("进入客户段交互模式")
cmd=conn.recv(1024)
filename=cmd.decode("utf-8").split(" ")[1]
print(filename)
with open(filename,"r",encoding="utf-8") as f:
for line in f:
conn.send(bytes(line,encoding="utf8"))