欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 精品一卡2卡三卡4卡乱码免费 | 2021中文字幕亚洲精品 | 日韩一区不卡 | 亚洲精品乱码 | 色噜噜狠狠狠狠色综合久不 | 成人午夜视频在线观看 | 久久午夜影院 | 亚洲三区视频 | 日韩网红少妇无码视频香港 | 丝袜捆绑调教视频免费区 | 精品一区二区三区在线视频 | 日韩不卡免费视频 | 青青草成人免费视频在线 | 啪啪免费视频网站 | 狠狠色噜噜狠狠狠狠97影音先锋 | 亚洲福利视频网 | 成人一级免费视频 | 一级黄色大片视频 | 久久婷婷综合中文字幕 | 91在线 在线播放 | 久久久久久一区 | 欧美疯狂xxxx乱大交视频 | 精品在线一区二区三区 | 成人在线免费观看 | 免费亚洲成人 | 97久久精品人人做人人爽50路 | 久久精品黄色 | 亚洲国产咪爱网 | 毛片免费观看视频 | 亚洲国产一区二区视频 | 偷拍自拍五月天 | www.avbobo| 国产精品岛国久久久久久久 | 九九国产在线视频 | 天天爽夜夜爽人人爽 | 日韩欧美在线观看一区 | 亚洲欧洲中文日韩久久AV乱码 | 全毛片| 丁香六月啪 | 久久久国产精品x99av | 九九热线有精品视频99 |