|
E_FTP
Details
Application Name |
E_FTP |
|
|
Version |
1.0 |
|
|
Developer |
|
|
|
License Type |
Freeware The program is completely free to use. |
|
|
Community Rating |
You must be registered and logged into HPC:Factor in order to contribute to the SCL.
|
|
|
Get Direct |
http://cse.msu.edu/~reedevv/msproj/ [ This program can be obtained directly from its developer ] |
|
|
Summary |
A FTP client for Windows CE |
|
|
Category(s) |
|
|
|
Description |
E_FTP is a Windows Sockets FTP Client, that was written as part of my Master's Project while working towards a Master's Degree in Computer Science & Engineering at Michigan State University, East Lansing, MI. The executable is released into the public as freeware. If you find my program useful, let me know. I'd appreciate it!
OVERVIEW: ========= This FTP client contacts and connects to PORT 21 (FTP) of any FTP server, and follows the FTP protocol described in RFC 959. I have implemented the following FTP Commands listed in RFC 959: USER, PASS, CWD, CDUP, QUIT, PORT TYPE, RETR, STOR, DELE, RMD, MKD, PWD, LIST, and STAT. NLST is used in combination with RETR to create an mget. Mput is also implemented using STOR.
ABOR did not work well with all of the servers that I tested, so I did not implement this with my abort command. My abort command simply closes the data socket. This may be abrupt, and graceless, but it works in all cases that I tested.
AVAILABLE VERSIONS: =================== I compiled a version of E_FTP for all platforms currently supported by the Windows CE SDK's for Windows CE 2.00, Windows CE 2.01, and Windows CE 2.11. The version for Windows CE 2.11 was tested on the emulator, and on the ARM platform (HP Jornada 820). The version for Windows CE 2.00 was tested on the SH3 platform (HP 620LX). The X86 emulator version did not compile for Windows CE 2.01, when linking with winsock.lib. However, it compiled fine for the actual platforms. I am making the executables available, but be aware that this version was not tested, meaning various dialogue boxes and menus may not display correctly.
LOG FILES: ========== The program will create a few files to log information. These will all be located in the same folder as the program 'e_ftp.exe'. e_ftplog.txt and e_chklog.txt will created when the program starts. The other files, LIST.TXT and NLIST.TXT, will only be created when you run the commands that need them. The log and information files are:
* e_ftplog.txt -- logs network, error and terse status messages to and from E_FTP; if something isn't working right, look here first. This file is kept and appended. You can clear it when you start the program, but aware that if you never clear it, the file will grow continuously.
* e_chklog.txt -- logs E_FTP test info; if you can't connect to your server, try the test. It tests a control socket connection to ftp.microsoft.com. If this works, your network is probably fine, and you need to check the host name, userid and password. If it doesn't work, make sure your network is up. This isn't a 100% test, since sometimes this server is off-line. This file is also kept and appended. You can clear it when you start the program, but aware that if you never clear it, the file will also grow continuously.
* LIST.TXT -- Lists only the most recent 'contents of the remote directory'. If the file list is larger than the screen buffer, you won't see the top of your list. Look here to see the whole list.
* NLIST.TXT -- Lists only the most recent matches from 'get multiple files'. If something isn't working right, look here to see what your pattern matches on the FTP server. USER HELP: ========== Main menu: The main menu has 4 sections.
'E_FTP' contains commands to make, break and check host connections, and to exit the the program. 'Directory' contains commands for the remote directory: make one, delete one, change directories, list the directory name, and get the contents. 'File' contains commands that handle file transfers, delete a remote file, and set the file transfer mode. 'Help' contains a short readme, program version and platform info, and a FTP test routine.
Dialogue boxes: Most of the dialogue boxes contain a short sentence with help, where I thought it necessary. Key points:
'CONNECT TO HOST' -- Do NOT use an IP address. Use the the fully qualified domain name. That is, use something like ftp.microsoft.com or pilot.msu.edu or arctic.cse.msu.edu. Do not use numbers like 35.8.2.41 -- they won't work.
'CHANGE REMOTE DIRECTORY' -- You have three choices: (1) .. moves up one direcotory level; (2) list the full path starting with /, for example, /user/userid/mywebdir/enddir; (3) list the path referring to where you are at, meaning if the current remote directory is /user/userid, to finish the example above just enter (no leading /) mywebdir/enddir -- and you'll end up at /user/userid/mywebdir/enddir.
'MAKE / DELETE REMOTE DIRECTORY' -- You can use either choice (2) or (3) above to add the path to the directory. 'GET SINGLE FILE FROM HOST' -- Transfer mode -- shows the current setting, but you can change it with a click. Remote directory -- shows the current setting, but you can change this using the same 3 choices in 'CHANGE REMOTE DIRECTORY'. Remote file name -- must match exactly. No * or ? here. New file name -- Use this to change the local file name. Since CE designates all files by their full path, you can include the path of where you want the file to go, AS LONG AS the folders already exist. If you don't designate a path, the file will end up in the same directory as 'e_ftp.exe'. This operation may be aborted.
'GET MULTIPLE FILES FROM HOST' -- All files are copied to the same directory as 'e_ftp.exe'. Transfer mode and Remote directory -- same as above. Remote file name -- may match a file name exactly; or may include... * -- wildcard covering any number of characters; ? -- wildcard for a single character. This operation may be aborted.
'PUT SINGLE FILE ON HOST' -- Transfer mode and Remote directory -- same as above. Local file name -- Since CE designates all files by their full path, you can include the path of where you want the file to come from, AS LONG AS the folders and file exist. If you don't designate the directory, the file must be in the same directory as 'e_ftp.exe'. Remote file name -- Use this to change the remote file name. No * or ? here. This operation may be aborted.
'PUT MULTIPLE FILES ON HOST' -- Transfer mode and Remote directory -- same as above. Local files -- Since CE designates all files by their full path, you can include the path of where you want the file to come from, AS LONG AS the folders. If you don't designate the directory, the file must be in the same directory as 'e_ftp.exe'. As far as the file name, it may match a file name exactly; or it may include... * -- wildcard covering any number of characters; ? -- wildcard for a single character. This operation may be aborted.
'DELETE SINGLE FILE ON HOST' -- Remote directory -- same as above. Remote file name -- must match exactly. No * or ? here. LIMITATIONS ON FILE TRANSFERS: ============================== Other than available physical space, there are no limits on the sizes of the files that may be transferred. Currently, the program does not check in advance if sufficient space is available either on the server or on the client. If the user does not check, the transfer will just fail when there is no more space.
Both ASCII and BINARY transfers are supported, however the program does not handle format conversions between Windows CE and other windows environments. This means the file will transfer as is, and the Pocket applications may or may not be able to handle the file. I found that text files were fine, and the Excel 97 files that I transfered were fine for Pocket Excel. While simple Word 97 files were fine, some Word 97 files, that included complex features, stumped Pocket Word and failed to open correctly. Binaries must be compiled for the CE version and hardware platform that you are using.
The only known limitation occurs with number of files that may be retrieved by mget or 'get multiple files'. If the file name pattern generates a list of matching names larger 4K (4096 bytes), only the final 4K will be retrieved. This limit is NOT affected by file sizes, but only by the number of and size of the file NAMES. The list of matching names is also printed in NLIST.TXT. If that files is greater than 4096 bytes, then the user should split up the transfer and use patterns that will select smaller number of files. For example, instead of using *.*, a user could do multiple transfers -- first using a*.*, then b*.*, and so on. This limitation ONLY occurs with mget. Get, put and mput have no such limits. ACKNOWLEDGEMENTS: ================= Some hints and ideas for this FTP client were obtained from the following: - Vijay Mukhi's FTP client example found at VIJAY MUKHI'S TECHNOLOGY CORNUCOPIA (http://users.neca.com/vmis/). - Public domain WS_FTP code written by John A. Junod, and later modified by L. Kahn. - freeware NcFTP source code written by Mike Gleason found at ftp://ftp.probe.net/pub/ncftp/. - Douglas Boling's "Programming Microsoft Windows CE" from Microsoft Press. |
|
|
Installation Instructions |
INSTALLING / UNINSTALLING E_FTP: ================================ Download the appropriate binary of 'e_ftp.exe' to your CE device, and move it to a folder of your choice. That's it. E_FTP is installed.
E_FTP is a self-contained program, and writes NOTHING to the Windows CE registry. To uninstall it, delete the binary, 'e_ftp.exe' and any of the log files that it created. These are listed below.
To run E_FTP, either double-click or open the file 'e_ftp.exe'. |
|
|
Tags |
FTP, ftp client |
|
|
Popularity |
1781 |
Total Downloads |
1 |
|
|
Submitted By |
C:Amie |
Submitted On |
14 February 2021 |
Comments
No comments have been submitted against this application. Be the first! You must be signed-in to post comments in the SCL. Not registered? Join our community.
Software Compatibility List: The SCL is provided for free to the Handheld PC Communty and we do not carry advertising to support our services. If you have found the SCL useful, please consider donating.
|