ftp文件服务器
一、项目功能
1.服务端和客户端两部分,要求启动一个服务端可以同时处理多个客户端请求
2.功能:1).可以查看服务端文件库中所有的普通文件
2).从客户端可以下载文件库的文件到本地
3).可以将本地文件上传到服务端文件库
4).退出
3. 客户端使用print在终端打印简单的命令提示,通过命令提示发起请求
二、技术分析
1.技术分析-(fork,tcp并发)
2.每个功能要单独封装,整体功能写在一个类中
3.如何搭建整体架构,完成网络通讯
三、功能分析
获取文件列表
客户端: *发送请求
*得到回复判断能否获取列表
*接收文件名称列表打印
服务端: * 接收请求
* 判断请求类型
* 判断能否满足请求,回复信息确认
* 执行请求发送文件列表
-------------------------------------------------------------------------------------华丽分割线 ~_~
- 服务端程序
'''
ftp 文件服务器
'''
from socket import *
import time
import os,sys
import signal
#文件库路径
file_path = '/home/file/ftp/'
HOST = ''
PORT = 5000
ADDR = (HOST,PORT)
#将文件服务器功能写在类中
class FtpServer(object):
def __init__(self,c):
self.c = c
def do_list(self):
#获取文件列表
file_list = os.listdir(file_path)
if not file_list:
self.c.send('文件库为空'.encode())
return
else:
self.c.send(b'OK')