【python練習】基於socket的FTP程式 v1.1.0(支援並發)

來源:互聯網
上載者:User

標籤:恢複   不能   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(支援並發)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.