x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 

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.