標籤:恢複 不能 disk 客戶 bug log 檔案 並發 用戶端
增加功能
1.在FTP(1.0.0)的基礎上,支援了多並發的功能2.允許配置最大並發數,比如允許只有10個並發使用者
程式功能:
本程式類比實現了一個FTP程式:1.程式分為用戶端和服務端2.使用者可以登入和註冊帳號,登入密碼有MD5加密3.每個使用者有自己的家目錄 ,且只能訪問自己的家目錄4.使用者可以隨意切換目錄(僅限自己的家目錄)5.允許使用者查看目前的目錄下檔案6.允許上傳和下載檔案,保證檔案一致性(md5),(不允許下載/上傳檔案夾,會出現不可恢複bug,使用者設定檔需要重設。時間原因沒有加判斷)7.檔案傳輸過程中顯示進度條8.支援檔案上傳、下載的斷點續傳
測試:
資料為空白,需要手動建立添加1.需要自行註冊帳號2.本地上傳的檔案,應放在client\db\使用者名稱\uploads中3.下載的檔案會自動儲存在client\db\使用者名稱\downloas中4.不能下載/上傳檔案夾,會出現不可恢複bug
程式結構:
僅在core下添加了MyThreadPool.py
FTP/└── ├── README ├── client # 用戶端程式目錄 └── server # 服務端程式目錄
FTP/client/└── ├── conf # 設定檔 │ ├── init.py │ └── settings.py ├── core # 主要程式邏輯都 │ ├── init.py │ ├── login.py # 登陸模組 │ ├── main.py # 主邏輯互動程式 │ └── register.py # 註冊模組 ├── db #使用者資料存放區的地方 │ └── disk # 存放各使用者上傳\下載檔案 │ ├── 使用者名稱檔案1 # 使用者名稱檔案 │ │ ├── downloads # 下載的檔案存放目錄 │ │ └── uploads # 需要上傳的檔案目錄 │ └── 使用者名稱檔案2 # 使用者名稱檔案 │ ├── downloads # 下載的檔案存放目錄 │ └── uploads # 需要上傳的檔案目錄 └── FTP_client # client端程式主入口
FTP/server/└── ├── conf # 設定檔 │ ├── init.py │ └── settings.py ├── core # 主要程式邏輯都 │ ├── init.py │ ├── logger.py # 日誌記錄模組 │ ├── login.py # 登陸模組 │ ├── main.py # 主邏輯互動程式 │ ├── MyThreadPool.py # 線程池 │ └── register.py # 註冊模組 ├── db #使用者資料存放區的地方 │ ├── accounts.ini # 使用者設定檔,存放帳號、密碼(MD5) │ └── disk # 存放各使用者上傳\下載檔案 │ ├── 使用者名稱檔案1 # 使用者名稱檔案 │ │ ├── downloads # 下載的檔案存放目錄 │ │ └── uploads # 需要上傳的檔案目錄 │ └── 使用者名稱檔案2 # 使用者名稱檔案 │ ├── downloads # 下載的檔案存放目錄 │ └── uploads # 需要上傳的檔案目錄 └── logs #日誌目錄 │ ├── init.py │ └── access.log #使用者訪問和操作的相關日誌 └── FTP_server # server端程式主入口
【python練習】基於socket的FTP程式 v1.1.0(支援並發)