Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

yingoja/FTPServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

3 Commits

Repository files navigation

FTPServer

功能需求

  • 用户加密认证
  • 服务端采用 SocketServer实现,支持多客户端连接
  • 每个用户有自己的家目录且只能访问自己的家目录
  • 对用户进行磁盘配额、不同用户配额可不同
  • 用户可以登陆server后,可切换目录
  • 能查看当前目录下文件
  • 上传下载文件,保证文件一致性
  • 传输过程中实现进度条展示
  • 用户可在自己家目录进行创建目录、文件、删除目录及文件
  • 服务端可实现增加用户、删除用户
  • 支持上传时断点续传

知识点

  • 类的应用
  • 函数的使用
  • 多进程
  • 反射
  • socket、socketserver、hashlib、configparser、logging
  • 文件的读写

开发环境

  • python 3.6.1
  • PyCharm 2016年2月3日

目录结构

FTPClient

 |--bin (主接口目录)
 |--ftpclient.py (客户端主程序接口文件)
 |--config (配置文件目录)

|--code.py (状态码文件)

|--settings.py (配置文件)

|--template.py (模板文件)

 |--download (下载存放目录)
 |--lib (模块目录)

|--client.py (客户端各类接口封装)

|--common.py (公共接口)

 |--logs (日志目录)

|--ftpclient.log (日志文件)

|--clientRun.py (主执行程序)

FTPServer

 |--bin (主接口目录)
 |--ftpserver.py (服务端socket接口文件)
  |--main.py (主程序接口文件)
 |--config (配置目录)

|--settings.py (配置文件)

|--template.py (模板文件)

|--database (数据保存目录)

|--user.ini (用户信息文件)

|--dbhelper (数据目录)

|--dbapi.py (数据操作接口)

|--lib (模块目录)

|--user.py (用户类文件用来实例化对象)

|--server.py (服务端模块,各类所有命令方法)

 |--common.py (公共模块文件)
 |--logs
 |--ftpserver.log (日志文件)

|--upload (上传文件存放的目录)

|--serverRun.py (主执行程序)

模块功能导图 Image 输出结果展示 Image

Image

Image

Image

Image

Image

About

基于socket的FTP服务器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /