小知识:
try:
f = open(filename, "wb") #open(文件名, 打开方式) wb = write,byte
f.write()/f.read()
except:
f.close()
因为打开文件后,读写时可能会出现异常,所以需要捕获异常,但是对于这个简单代码而言,用不着异常捕获,所以:
with open(filename, "wb") as f:
f.write(recv_data)
主要思想:
客户端将文件名称发送到服务器后,服务器找到对应的文件,打开文件,读取文件,将数据以二进制形式发送给客户端,客户端得到数据后,新建文件,将数据写入文件,就下载完成了
client
import socket
def main():
# 创建套接字
tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取服务器的ip,port
dest_ip = input("请输入服务器IP:")
dest_port = int(input("请输入服务器端口"))
# 连接服务器
tcp_server.connect((dest_ip, dest_port))
# 获取下载的文件名称
down_file_name = input("请输入文件名称")
# 将文件名称发送到服务器
tcp_serve