1.代码功能:
2. 思路分析:
服务端:
"""
ftp 文件服务器服务端
env: python3.8
多线程 tcp并发
"""
from socket import *
from threading import *
import sys,os
import time
# 全局变量
HOST = '0.0.0.0'
PORT = 8888
ADDR = (HOST, PORT)
FTP = 'D:\pycharm\PROJECT\pythonProject1\step12_ftp\FTP' # 文件库位置
# 客户端处理类 查看才=服务器 上传 下载
class FTPserver(Thread):
def __init__(self, connfd):
super().__init__()
self.connfd = connfd
# **********发送文件目录***************
def do_list(self):
# 获取文件列表
file_list = os.listdir(FTP)
if not file_list:
self.connfd.send("文件库为空".encode())
return
else:
self.connfd.send(b'OK')
time.sleep(0.1) # 防止OK和发送内容粘连
# 发送
files = '\n'.join(file_list)
self.connfd.send(files.encode())
# ***********发送文件内容***************
def do_get(self, filename):
try:
f = open(FTP+filename, 'rb')
e