亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VS的FTP文件傳輸設(shè)計與實現(xiàn)

        2020-12-29 11:57:50宋毅
        電腦知識與技術(shù) 2020年32期

        宋毅

        摘要:海量數(shù)據(jù)時代,文件傳輸需要解決準(zhǔn)確率與傳輸速度問題,通常的網(wǎng)絡(luò)下載速度有些不能滿足用戶需求,為適應(yīng)用戶海量下載需求,為此開發(fā)FTP文件傳輸系統(tǒng),該系統(tǒng)基于Visual Studio環(huán)境開發(fā),功能具有訪問ftp、文件上傳、文件下載、刪除、顯示目錄等功能,給用戶提供方便快捷的文件傳輸下載。

        關(guān)鍵詞:海量數(shù)據(jù);FTP;文件傳輸

        中圖分類號:TP311? ? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2020)32-0232-03

        Abstract:In the era of massive data, file transmission needs to solve the problems of accuracy and transmission speed. The usual network download speed can not meet the needs of users. In order to meet the needs of users for massive downloading, FTP file transmission system is developed. The system is developed based on Visual Studio environment, with the functions of accessing FTP, uploading files, downloading files, deleting, displaying directories and other functions, so as to provide users with the services Fast file transfer and download.

        Key words: massive data; FTP; file transfer

        1 創(chuàng)建項目

        使用網(wǎng)絡(luò)編程方式實現(xiàn)一個典型的FTP系統(tǒng)實現(xiàn)文件傳輸?shù)裙δ堋?/p>

        打開Visual Studio,創(chuàng)建一個基于對話框的MFC應(yīng)用程序,項目名稱為“hailianFTP”,創(chuàng)建向?qū)Ц呒壒δ苤凶⒁膺x擇windows套接字,然后完成即可。

        2 設(shè)計界面

        設(shè)計hailianFTP的主對話框。添加一個ListBox控件顯示FTP的文件和目錄內(nèi)容,并為其關(guān)聯(lián)CListBox類型的成員變量m_lbkuang;添加一個EditBox控件輸入FTP服務(wù)器地址,并為其關(guān)聯(lián)CString類型的成員變量m_sfuwuqi;添加一個EditBox控件輸入FTP登錄用戶名,并為其關(guān)聯(lián)CString類型的成員變量m_syonghu;添加一個EditBox控件輸入FTP登錄口令,并為其關(guān)聯(lián)CString類型的成員變量m_smima;添加一個EditBox控件輸入FTP目錄,并為其關(guān)聯(lián)CString類型的成員變量m_smulu;添加四個靜態(tài)文本,分別顯示服務(wù)器地址、用戶名、密碼、目錄,然后添加五個按鈕分別表示“打開ftp”“顯示ftp內(nèi)容”“上傳數(shù)據(jù)”“下載數(shù)據(jù)”和“刪除垃圾”。

        3 頭文件設(shè)計

        打開hailianFTPDlg.h,添加頭文件包含#include ,添加Daoruwenjian函數(shù)聲明和添加成員,代碼如下:

        void Daoruwenjian(); CFtpConnection *m_wenjianlianjie; CInternetSession m_isSession;

        4 實現(xiàn)文件設(shè)計

        為五個按鈕設(shè)計消息響應(yīng)函數(shù),實現(xiàn)Daoruwenjian函數(shù),實現(xiàn)文件部分代碼如下:

        BOOL ChailianFTPDlg::OnInitDialog()

        { ……//其它初始化

        //初始化成員變量

        m_sfuwuqi=_T("127.0.0.1");

        m_smulu=_T("");

        m_syonghu=_T("anonymous");

        m_smima=_T("abcd");

        m_wenjianlianjie=NULL;

        UpdateData(FALSE);

        return TRUE;? }

        void ChailianFTPDlg::OnBconnect()//打開ftp按鈕功能

        { UpdateData(TRUE);

        if(!m_wenjianlianjie)

        { if(m_sfuwuqi!= _T(""))

        { m_wenjianlianjie=m_isSession.GetFtpConnection(m_sfuwuqi,

        m_syonghu,m_smima);

        if(m_wenjianlianjie)

        { m_wenjianlianjie->GetCurrentDirectory(m_smulu);

        m_lianjieanniu.SetWindowText(_T("&不再顯示內(nèi)容"));

        Daoruwenjian();

        UpdateData(FALSE); } } }

        else { m_wenjianlianjie->Close();

        delete m_wenjianlianjie;

        m_wenjianlianjie=NULL;

        m_lianjieanniu.SetWindowText(_T("&Connect FTP Server"));

        m_smulu=_T("");

        m_lbkuang.ResetContent();

        UpdateData(FALSE); }}

        void ChailianFTPDlg::OnBgetfile()//下載數(shù)據(jù)按鈕功能

        { UpdateData(TRUE);

        if(xwenjian!="")

        { if(xwenjian.Right(5)== _T("

        "))

        MessageBox(_T("Unable to download directory"));

        else { CFileDialog wenjian(FALSE,NULL,(LPCTSTR)xwenjian);

        if(wenjian.DoModal()==IDOK)

        { if(!m_wenjianlianjie->GetFile((LPCTSTR)xwenjian,

        (LPCTSTR)wenjian.GetFileName()));

        MessageBox(_T("提示錯誤報警")); } } }}

        void ChailianFTPDlg::Shezhimulu()//顯示ftp內(nèi)容按鈕功能

        { UpdateData(TRUE);

        if(m_smulu!="")

        { m_wenjianlianjie->SetCurrentDirectory((LPCTSTR)m_smulu);//設(shè)置顯示目錄信息

        m_wenjianlianjie->GetCurrentDirectory(m_smulu);

        Daoruwenjian();

        UpdateData(FALSE); }}

        void ChailianFTPDlg::OnDblclkLfiles()//雙擊FTP列表,下載文件或進(jìn)入另一層目錄

        { UpdateData(TRUE);

        if(xwenjian!="")

        { if(xwenjian.Right(5)== _T("

        "))

        { CString linshi;

        m_wenjianlianjie->GetCurrentDirectory(m_smulu);

        if(m_smulu.Right(1)!= _T("/"))

        m_smulu+=CString(_T("/"));//添加字符串連接信息

        linshi=xwenjian.Left(xwenjian.GetLength()-5);

        linshi.TrimRight();

        m_smulu+=linshi;

        UpdateData(FALSE);

        Shezhimulu(); }

        else {CFileDialog wenjian(FALSE,NULL,(LPCTSTR)xwenjian);

        if(wenjian.DoModal()==IDOK)

        {if(!m_wenjianlianjie->GetFile((LPCTSTR)xwenjian,

        (LPCTSTR)wenjian.GetFileName()))

        MessageBox(_T("關(guān)于文件錯誤提示")); } } }}

        void ChailianFTPDlg::Daoruwenjian()//通過導(dǎo)入文件顯示服務(wù)器所包含信息

        { m_lbkuang.ResetContent();

        CFtpFileFind chazhao(m_wenjianlianjie);

        CString xwenjianming;

        BOOL gengduowenjian;

        gengduowenjian=chazhao.FindFile(NULL);

        while(gengduowenjian)

        { gengduowenjian=chazhao.FindNextFile();

        xwenjianming=chazhao.GetFileName();

        if(chazhao.IsDirectory())

        xwenjianming+=_T("?

        ");

        m_lbkuang.AddString((LPCTSTR)xwenjianming); }

        chazhao.Close();}

        void ChailianFTPDlg::OnBputfile()//上傳數(shù)據(jù)按鈕功能

        { UpdateData(TRUE);

        CFileDialog openFile(TRUE,NULL);

        if(openFile.DoModal()==IDOK)

        { if(m_wenjianlianjie->PutFile((LPCTSTR)openFile.GetFileName(),

        (LPCTSTR)(m_smulu+_T("/")+(CString)openFile.GetFileName())))

        MessageBox(_T("上傳數(shù)據(jù)完成"));

        else

        MessageBox(_T("無法上傳")); }

        Shezhimulu();

        UpdateData(FALSE);}

        void ChailianFTPDlg::OnBdelfile()//刪除垃圾按鈕功能

        { UpdateData(TRUE);

        m_wenjianlianjie->Remove(xwenjian);

        Shezhimulu();

        UpdateData(FALSE);}

        5 調(diào)試工作

        編寫好對應(yīng)功能后,調(diào)試對應(yīng)功能,如果發(fā)現(xiàn)成員變量添加錯誤,可以刪除頭文件和源文件對應(yīng)位置的變量,重新選中控件,右鍵,添加變量。調(diào)試成功如圖1所示。

        通過調(diào)試,發(fā)現(xiàn)密碼功能沒有隱藏,為此請注意,為保護(hù)個人隱私,系統(tǒng)設(shè)計過程需要把密碼功能的編輯框?qū)傩栽O(shè)置為True。FTP傳輸文件可以試壓縮包提高文件傳輸效率。方便用戶上傳下載以及不用的文件數(shù)據(jù)刪除處理等工作。

        參考文獻(xiàn):

        [1] 周超,劉傳琦.基于VC的傳輸文件集成軟件的設(shè)計與實現(xiàn)[J].無線互聯(lián)科技,2019,16(12):57-59.

        [2] 張甲.基于多級異構(gòu)通道的矩陣型文件傳輸系統(tǒng)設(shè)計和實現(xiàn)[D].西北大學(xué),2018.

        [3] 譚玲麗.一種基于Linux平臺下的文件傳輸服務(wù)器的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2015,11(25):25-26.

        [4] 趙娟.簡單文件傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].中國市場,2015(50):242,244.

        [5] 陳娟.基于局域網(wǎng)的文件傳輸功能設(shè)計與實現(xiàn)[J].計算機(jī)光盤軟件與應(yīng)用,2015,18(3):289,291.

        [6] 文艾.移動互聯(lián)網(wǎng)下基于RS編碼的文件傳輸軟件設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2014,10(29):6834-6838+6852.

        [7] 王琦,韓安,賈政,王毓輝.一種高效文件傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].電子世界,2014(15):133-134.

        [8] 唐軍.異步批量文件網(wǎng)絡(luò)傳輸系統(tǒng)設(shè)計與實現(xiàn)[D].湖南師范大學(xué),2014.

        [9] 張愷.基于UDP的可靠文件傳輸協(xié)議的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2014.

        [10] 巫黎黎.文件安全傳輸系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2013.

        [11] 宮麗娜.基于TCP協(xié)議的文件傳輸?shù)脑O(shè)計與實現(xiàn)[J].信息系統(tǒng)工程,2012(12):22-23.

        【通聯(lián)編輯:代影】

        久久亚洲国产成人亚| 中文无码成人免费视频在线观看| 国产尤物av尤物在线观看 | 国产女高清在线看免费观看| 亚洲乱码中文字幕综合69堂| 日本久久久免费观看视频| 成年女人a毛片免费视频| 国产亚洲日韩一区二区三区| 18禁黄无遮挡免费网站| 中文av字幕一区二区三区| 亚洲另类丰满熟妇乱xxxx| 无码人妻人妻经典| 亚洲中文字幕无码中字| 在线不卡中文字幕福利| 日本一本一道久久香蕉男人的天堂| 2020无码专区人妻系列日韩| 欧美日本日韩aⅴ在线视频| 亚洲av一区二区国产精品| 免费观看人妻av网站| 日本亚洲欧美色视频在线播放| 亚洲欧美日韩中文天堂| 亚洲午夜精品国产一区二区三区| 国产精品又爽又粗又猛又黄| 亚洲精品成人无限看| 人妻少妇精品无码专区动漫| 日韩中文网| 伊人久久大香线蕉综合av| 国产香蕉视频在线播放| 激情综合一区二区三区| 国产成人亚洲综合无码精品| 国产一区二区美女主播| 中文字幕精品一区二区三区| 久久久久亚洲av无码专区首jn| 国产免费一级在线观看| 手机AV片在线| 人妻少妇精品视频专区二区三区| 亚洲国产av无码专区亚洲av| 欧美在线综合| 中文字幕av一区二区三区诱惑| av无码国产精品色午夜| 韩国v欧美v亚洲v日本v|