• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0


            FTP
             Wanderer - FTP Client using WININET

            Sample Image

            Description

            This article presents a fully functional implementation of a FTP client. FTP Wanderer is a multithreaded FTP client with the look-and-feel of Windows Explorer, and makes moving files between the Internet and your computer as simple as local file manipulation. This application uses WININET API's to handle the FTP protocol, and while it's not the most elegant way to connect to a FTP server it does the job pretty well.

            Features list

            • All file transfer requests are handled in the background, so you don't have to wait while files copy to continue browsing the current server. You can even connect to a different server, while file transfers on another server are still in progress.
            • The Transfer Manager shows all file transfers currently in progress plus the ones that are in the queue. You can configure how many transfers are processed simultaneously, so you don't run out of resources.
            • FTP Wanderer uses the Windows 9x/NT/XP style list boxes for displaying the contents of remote servers. With all familiar system icons and context menus.
            • You can specify the number of times it should try to connect, and the time delay between connection attempts.
            • Full Drag and Drop support. Simply drag one or more files or even complete folders onto FTP Wanderer's file view area to transfer them to the location of the server that is currently connected.
            • Easily configure FTP site settings, like username, password, port, initial remote folder, number of retries and default download folder.

            Here's a brief description of some of the important classes of the application:

            CMainFrame

            CMainFrame contains most of the code for managing the FTP connection. It takes care of connecting to the server; initiate up/downloads and handling other FTP related actions.

            CFTPListView

            This is just a CListView derived class that takes care of displaying the files and enabling you to sort them. When the application is busy downloading or sorting a directory listing it can display an animation, just like explorer does.

            CConnectDlg

            This class (= Site Manager) enables the user to manage FTP sites. You can add/change and delete sites and configure properties such as hostname, port, username and password. The settings of each site are save to disk using serializing.

            CTransferManagerDlg

            CTransferManagerDlg (= Transfer manager) takes care of queuing the file transfers. It shows all file transfers currently in progress plus the ones that are in the queue. You can configure how many transfers are processed simultaneously, so you don't run out of resources. Each up/download in handled in a separate thread by initiating aCDownloadThread or CUploadThread thread.

            CDownloadThread

            Each download is handled in the background using a separate thread. CDownloadThread creates a new connection with the FTP server and displays a progress dialog that tells you the status of the file transfer. When the download is completed (or aborted) it notifies the transfer manager so the UI can be updated.

            CUploadThread

            Each upload is handled in the background using a separate thread. CUploadThread creates a new connection with the FTP server and displays a progress dialog that tells you the status of the file transfer. When the upload is completed (or aborted) it notifies the transfer manager so the UI can be updated.

            To do list:

            While this application has most of the features you might expect in a FTP client, there are a few things left to do:

            • Drag and drop support out of the file view area to Explorer. I think this one is not that easy, because this would probably 'block' explorer until the file transfer is completed (any suggestions?).
            • Progress indication in the transfer manager. This is not really that hard to do, so this will probably be in the next release.
            • Better asynchrony handling of getting directory listing. The UI now does not respond when downloading a huge directory listing.

            Contacting the Author

            Please send any comments or bug reports to me via email. For any updates to this article, check my site here.

            Revision history

            • 31st July 2002 - Initial revision.

            License

            This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

            A list of licenses authors might use can be found here

            原文
            地址:http://www.codeproject.com/Articles/2665/FTP-Wanderer-FTP-Client-using-WININET

            posted on 2013-11-19 08:54 王海光 閱讀(721) 評論(0)  編輯 收藏 引用 所屬分類: MFC
            欧美麻豆久久久久久中文| 久久精品国产亚洲AV大全| 99久久99久久精品国产片| 国产高潮国产高潮久久久91 | 亚洲另类欧美综合久久图片区| 国产一区二区三精品久久久无广告 | 久久66热人妻偷产精品9| 国产成人久久激情91| 久久久久这里只有精品 | MM131亚洲国产美女久久| 久久精品国产清自在天天线| 亚洲AV无码久久精品蜜桃| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 偷窥少妇久久久久久久久| 精品久久久久久成人AV| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久亚洲私人国产精品vA| 久久精品亚洲精品国产欧美| 久久人人爽人人爽人人AV| 无码任你躁久久久久久久| 国产精品九九九久久九九| 久久精品中文无码资源站| 久久久久婷婷| 久久精品国产福利国产琪琪| 国内精品久久国产大陆| 亚洲色婷婷综合久久| 性高湖久久久久久久久AAAAA| 天天综合久久久网| 国产一区二区三区久久| 久久婷婷激情综合色综合俺也去| 无夜精品久久久久久| 色婷婷噜噜久久国产精品12p | 久久综合日本熟妇| 久久亚洲国产成人精品无码区| 伊人丁香狠狠色综合久久| 国产午夜久久影院| 国产精品久久久久久久久鸭| 国产精品久久久久久久久| 久久久久中文字幕| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲AV无码久久精品色欲|