欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

ESFramework Demo -- 簡單的FTP服務器Demo(

系統 1913 0

FTP服務器最核心的功能就是提供文件的上傳、下載服務。在 ESFramework Demo -- 文件傳送Demo(附源碼) 一文中,我們演示了如何在客戶端與客戶端之間相互傳送文件,現在我們就實現一個簡單的FTP服務器,以演示如何在客戶端與服務器之間傳送文件。在閱讀本文之前,請務必先掌握 ESFramework 開發手冊(03) -- 文件(夾)傳送 一文中介紹的文件傳送的流程及相關的API的用法。

本Demo主要演示以下功能:

(1)客戶端瀏覽服務器默認目錄下的所有文件。

(2)客戶端上傳文件到服務器的默認目錄下。

(3)客戶端可以下載服務器默認目錄下任何一個文件。

一.定義信息類型

根據上面提到的功能需求,我們需要定義相應的信息類型:

上傳文件就不用定義額外的信息類型了,可以直接使用IFileOutter的請求發送文件方法就可以了。

二.服務端

服務端將文件目錄設定在運行目錄下的"FileFold"文件夾,所有上傳的文件都將被保存到這個目錄,所有要下載的文件也來自這個目錄。

服務端的CustomizeHandler類實現了自定義信息處理器接口ICustomizeHandler,當收到來自客戶端的FtpInformationTypes.GetAllFileNames同步調用時,就將FileFold目錄下的所有文件列表返回給客戶端。當收到請求下載文件的信息時,就調用IFileController.BeginSendFile方法將指定的文件發給客戶端。

當客戶端要上傳文件時,會直接調用IFileOutter的BeginSendFile,此時,服務端將觸發IFileController的FileRequestReceived事件。所以,服務端需要預定并處理這個事件:

服務端將保存文件的路徑設定在FileFold目錄下,然后調用IFileController.BeginReceiveFile方法開始接收文件。當然,這里的處理做了很多簡化,比如沒有判斷磁盤空間是否足夠、是否有同名文件等等。

三.客戶端

客戶端登錄成功后,進入主界面。主界面初始化時,將向服務器發送FtpInformationTypes.GetAllFileNames同步調用,然后將返回的文件列表顯示在ListView中。

雙擊ListView中的某個文件時,就向服務器發送FtpInformationTypes.DownloadFile信息。就像上面描述的一樣,服務端就會調用IFileController.BeginSendFile方法發送指定的文件,然后,客戶端也會觸發IFileOutter.FileRequestReceived事件,處理這個事件時,我們讓用戶選擇要存儲的路徑。

如果用戶取消了保存路徑的選擇,表示放棄下載文件,這樣就調用IFileOutter.RejectFile來進行取消操作。
當客戶端點擊上傳按鈕時,就直接調用IFileOutter.BeginSendFile來準備上傳文件。

這將引發服務端IFileController的FileRequestReceived事件觸發,然后,服務端會調用IFileController.BeginReceiveFile方法,從而啟動文件的正式傳遞。

下圖是客戶端正在進行上傳下載文件時的截圖:

ESFramework Demo -- 簡單的FTP服務器Demo(附源碼)

本文是一個最簡單的演示 文件上傳 下載功能的demo,非常的粗糙,僅僅用于示范如何使用ESPlus提供的文件傳送功能在服務端和客戶端之間傳遞文件。若要正式開發一個文件服務器系統,本文只能算是一個簡陋的起點,還有很多復雜的事情要做,那已經超出了本文的內容,但你若有任何想法,歡迎與我們討論。

四.源碼下載

ESFramework.Demos.Ftp 源碼

閱讀 更多ESFramework開發手冊系列文章

-----------------------------------------------------------------------------------------------------------------------------------------------

關于ESFramework的任何問題,歡迎聯系我們:

電話:027-87638960

Q Q:372841921



ESFramework Demo -- 簡單的FTP服務器Demo(附源碼)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 窝窝午夜精品一区二区 | 天堂av资源| 欧美乱视频 | 亚洲一区视频在线 | 伊人久久99亚洲精品久久频 | 一级做a爱片久久 | 最新日韩精品在线观看 | 久久99草| 男女同床爽爽视频免费 | 丝袜美腿精品一区二区三 | 精品国产一区二区三区久久 | 99久久久久久久 | 男女全黄做爰视频免费看 | 99re视频在线观看 | 91麻豆国产极品在线观看洋子 | 日韩av电影在线播放 | 黄色影院在线看 | 国产裸体bbb视频 | 欧美成人精品久久精品 | 亚洲精品国产第一综合99久久 | 国产精品久久久久久日本一道 | 亚洲精品午夜国产va久久成人 | 色五月婷婷成人网 | 亚洲国产成人在线视频 | 激情网址在线观看 | 久色激情| 成人福利在线视频 | 久久久久国产精品 | jjizz老女人多水喷水 | 久久一区二区三区四区 | 久久久久久精 | 99在线精品视频在线观看 | 91精品久久久久久久久久入口 | 精品欧美一区二区在线观看欧美熟 | A片太大太长太深好爽A片视频 | 亚洲视频免费在线观看 | 精品中文字幕一区 | 亚洲日本中文字幕天天更新 | 91视频在线网站 | 奇米影视77 | 毛片国产 |