ftp_source_code

所属分类:Windows编程
开发工具:Visual C++
文件大小:377KB
下载次数:37
上传日期:2009-07-02 10:03:00
上 传 者kevinis
说明:  FTP客户端源码 附带简单GUI界面 常用的功能都实现了 不支持加密和FXP
(Collateral source FTP client GUI interface brief)

文件列表:
ftp_source_code\changes.txt (2658, 1995-09-14)
ftp_source_code\login.c (4077, 1995-07-01)
ftp_source_code\version.h (1139, 1995-07-01)
ftp_source_code\wsftp32axp.zip (98710, 1995-01-31)
ftp_source_code\wsftp32m.zip (86787, 1995-09-14)
ftp_source_code\wsftp32ppc.zip (67057, 1995-01-31)
ftp_source_code\ws_child.c (16409, 1995-01-31)
ftp_source_code\ws_con.c (34287, 1994-10-25)
ftp_source_code\ws_debug.c (4810, 1995-01-31)
ftp_source_code\ws_debug.inc (2907, 1995-01-31)
ftp_source_code\ws_error.c (4545, 1993-11-12)
ftp_source_code\ws_ftp.def (411, 1994-12-15)
ftp_source_code\ws_ftp.doc (7514, 1994-04-26)
ftp_source_code\ws_ftp.h (9926, 1995-01-31)
ftp_source_code\ws_ftp.ico (766, 1993-11-12)
ftp_source_code\ws_ftp.ini (3703, 1994-09-27)
ftp_source_code\WS_FTP.RC (9121, 1995-01-19)
ftp_source_code\ws_ftp.res (7400, 1994-10-25)
ftp_source_code\WS_FTP.VCW (1758, 1994-10-26)
ftp_source_code\ws_ftp.wsp (719, 1994-10-26)
ftp_source_code\ws_ftp32.exe (115200, 1995-07-01)
ftp_source_code\ws_ftp32.mak (10029, 1995-07-01)
ftp_source_code\ws_glob.c (5979, 1994-09-25)
ftp_source_code\ws_glob.h (6626, 1994-09-25)
ftp_source_code\ws_host.c (44833, 1995-06-05)
ftp_source_code\ws_ip.c (5766, 1994-09-25)
ftp_source_code\ws_main.c (69733, 1995-02-01)
ftp_source_code\ws_paint.c (5657, 1994-06-08)
ftp_source_code\ws_read.me (18739, 1994-09-25)
ftp_source_code\ws_sock.ico (766, 1993-07-01)
ftp_source_code\ws_xbug.ico (766, 1993-11-11)
ftp_source_code (0, 2008-04-03)

NT port comments by L. Kahn You need to customize/and copy the ws_ftp.ini file to your winnt directory. The Windows NT port was much harder than expected, I have been slowly fixing problems and making enchancements to the system. The following is a list of some of the changes made that I can remember. If you want to actually look at all the changes get the original source from 129.29.***.246. added support for NTFS long file names. The system will not truncate on NTFS up to 220 char. names. with a max path name of 140 chars. On a fat file system it will truncate/rename to 8.3. (now only truncates on fat on win nt 3.1 since on 3.5 long names are now supported) fixed problems where lparam and wparam were incorrectly used for messages and all the dialgs were screwed up. Also changed all the api and dialog entries to use the new win32 format. fixed problem with the selection of a new setup name not filling in the remainder of the fields. Changed lparam which should have been wparam. added support to get other ftp server types by issueing the SYST command. The newer version of this program (source unavailable, see below does this). Also added support for new ftp server types such as NT. Added a new system option -d which enables the debugging window, otherwise it does not pop up as before. fixed problem with doing a strcpy and not checking for a null variable that caused an access violation under NT. Also fixed problem with newer version of qvt/winsock ftp server. Added support so that double clicking on a local file uploads it, double clicking on a remote file downloads it. By default you had to use the -> or <- arrows. There was a problem with the param. used for double clicking, howord(lparam) instead of hiword(wparam) was being used for the LBN_DBLCLK message. fixed dialog box routines since makeprocinstance and freeprocinstance is not necessary under win32. fixed problem with vax vms where when you switch to an empty directory there is no .. to switch back. This is still even broken in current 16 bit version. changed throughput messages on upload/download so that if it is over 1k it prints out stats in K/sec rather than bps. NOTES: There is a newer version of this program available for windows 3.1. It seems to have addressed many of the problems I have fixed and other enhancements. Unfortunately, when I sent a message to the original author describing the problems porting and all the fixes I had made, he didn't respond. The latest source available for this program is as of DEC. 1993 and this is the version I used as a starting point. It appears the author does not want to make a newer source available since I asked for this and he did not respond. Notes: on our new version of the solaris ftp server there is a bug when issueing the remotehelp command. It hangs. This program normally uses this command to try and figure out the server commands. IT will hang if you attempt to connect to a version of the solaris server that has this problem. To get around this I have added a type solaris-unix set it to this and everything should work fine. IF you don't believe me try the nt native ftp app and issue the remotehelp command and the same problem will occur. i.e it will hang. (note this only occurs on solaris 5.2 it is fixed on solaris 5.3 it happened because the server was not sending the terminating line) If other problems are found, please let me know at kahn@drcoffist.com or 71534,600 on compuserve. No promises but as I have time available I will try to look at specific problems with the NT version. If someone else makes fixes/changes please forward me a copy of the updated source. Thanks and good luck larry kahn 910-630-0412 kahn@kahn.pdial.interpath.net or kahn@drcoffsite.com or kahn@csn.org 71534,600 on compuserve newer version changes (06 94) fixed stuff so fat partitions on nt daytona work with long file names. Also now support names such as name.name.name (on nt 3.1 fat it still will truncate names to 8.3) Fixed startup parameters so that if you start up ws_ftp with the command ws_ftp hostname:path/filename where there can be additional / in the path it will automatically sign on with user name anonymous and download the file. This is the behavior in the newer 16 bit version of ws_ftp and I'm mimicking it here so that you can interface with other tools such as warchie for instance. This also allows you to automatically use ws_ftp to download files as long as anonymous is enabled on the remote system. It would not be hard to also add support for username password on the command line instead of anonymous logins if enough people are insterested I will implement it. On installation also copy the file ws_ftp.ini to your winnt directory. added muti-threading in NT so that while remote operations are pending local operations can be performed. This also enables message processing to happen during long remote operations so that the window is not all screwed up and you can now shrink it during a download Changed display to view added an abort button but cannot get aborted remote operations to work reliably so for no no-oped out. Updated connect/close buttons so that when relevant they are enabled or disabled. Added text edit field boxes for directory selection like on the 16 bit newer version. However for now cannot figure out how to interpret if a return key is pressed so you will have to click on another button or in the listing windows to get it to fire off after changing the text (ie you will have to change the focus. Note that this is case sensitive for the remote end because many unix system are case sensitive and also sensitive to whether or not the . is on a file name. Also fixed a problem with vms files since fat (on daytona) now supports the entire file name is was downloading files like abc.de;1 ... Got rid of the final ; version number info (even though this may someday be desireable) it is a pain. new version 06/29/94 finally got the abort code marginally working had to wait for correct response on control socket if this does not occur withing 15 seconds times out and prints a message that you may need to close/exit the app since the abort failed. You can now abort during downloads or uploads. A warning is printed out since many servers do not handle the abort correctly and will abort but subsequent operations may not work. IF this happens you can enable debuggin by running ws_ftp32 -d and send me the log. However, for many servers there is nothing I can do as is evident by this working on other servers. If you abort during a remote directory operation you will not get the directory and will have to execute the change dir command to get a directory listing. Also fixed stuff so when aborting it will close an open download file so it can be deleted. Also fixed a bug in the read routine that would hang ws_ftp because it thought a return value = 0 when the server didn't return anything meant continuation. new version 10/06/94 Still works on either NT 3.1 or daytona NT 3.5 Will not work on windows under win32s since it uses multi-threads. added a retries box to host dialog and to the ws_ftp.ini This field contries the number of retries for loggin on to a site. It can be used so that you can keep trying automatically all day et., to log onto difficult sites such as cica that have a limited number of connections. Because this could take a while it will ring (asterisk sound) when connection is complete if you have the bell enabled in the options menu, or ding (exclamation sound) if the connection fails after a certain number of retries. Also added a mirror or download/upload directory and subdirectories function. Thanks for the idea Patty. This function will download or upload an entiry directory tree(s). Now you can select more than one directory in the local or remote directory window. If you try to do this and then select the chgdir button an appropriate error message will appear. However, if you select at least one legal directory (ie not [-a-] or ..) and also have no files selected (file selection overrides directory selection) and then hit either the upload or download arrows (--> or <--) all the files in the directory or directories selected and subdirectories will be downloaded or uploaded. Directories will be created along the way if necessary. At the end of this entire operation a status message will be printed telling you how many files were transfered and how many directories were created and the overall throughput. NOTE: You cannot do any local operations while this mirror operation is processing since both the remote and local dir windows are used, for this reason these windows and the local buttons and selection field are tuned off during the operation. The remote buttons don't have to be turned off since there is already a check in place to only allow 1 remote operation at a time. Also you can get into an infinite loop if copying directories from you machine back to your own machine and the form and to directories coincide. Ie if copying from e:\net to e:\net\test you will put yourself in an endless loop. I warned you... Also If you can't figure out a way to easily turn off the last selected item in a list (necessary so that you can de-select all files to select only directories to start the mirror operation), you need to hit the cntrl key and then select the last item with the mouse. I have also turned off (hidden) the remote and local dir windows and file list windows, and disabled the local action buttons during a mirror operation since these windows are used and if the user selected something in one of them or did some operation this would screw up the mirror operation. They will be turned back on at the end of the operation or after aborting. I have also added new boxes on the host dialog popup for ftp server port. There were a few requests for this to enable connection to ftp servers that use non-standard ports. The default is still the normal port (21). This setting is also saved in the ws_ftp.ini file just like the new retries setting. Since Ive put quite a lot of effort into this new version donations will gladly be accepted. Also I'm thinking of an x-windows unix version of the program if interested drop me a line. larry kahn 6550 countryside drive fayetteville, nc. 28311 910-630-0412 kahn@kahn.pdial.interpath.net or kahn@drcoffsite.com or kahn@csn.org 71534,600 on compuserve Addendum: I know the user has also done a port of wsftp to windows NT,, he however will not respond to any email I have sent him about the bugs I encountered and fixed/etc. I did send him my original port to nt... Anyway I believe my version is better than his as with my multi-threading I can do a local operation while a remote one is pending and also resize/move the window around. this cannot be done on his version ported to NT... and also the new retries and mirror directory function. See for yourself what you think... I have put my version up here since the authors port is here and I thought that you may want to compare.. larry kahn updates 10/94 as per a users recommendation the wait cursor was changed from an hourglass to one which indicates better that operations can occur when others are pending also after a little work a makefile for an AXP version is provided along with an AXp excutable. Since not much has really changed other than this the version number has not been updated for now.. Also note that you can run multiple copies of wsftp32 without any problems... This is not made clear anywhere in the documentation.... In the cards resizing of the dir/file windows.... Any other user comments welcome.... updates 10/25 version found bug with very long file names ie. over 35 chars that would cause them not to be sent correctly or cause an access violation.. fixed the problem. 12/15 version fixed bug with case preservation so sends files in both upper and lower case. This was necessary so that when going to unix systems case would be preserved. Previously everything was lower case while with microsoft ftp puts everything in upper case. Added support for os2 ftp server new type.. new makefile and recompiled with vc++ 2.0 for nt. 12/26 version Noticed that for unix links it was displaying the eventual path ie test -> /bs/test it would display /bs/test this was confusing, also for a link to ./somename or ../somename it would not display anything. Changed code so it now displays the link name instead of the final path and also works correctly with links to .. and . 1/19/95 version it was brought to my attention that no matter how many files you selected it only processed 256. This turned out to be the size of the selection array... Changed this max number of files to process is now 12000. Hopefully this should be enough for most people..... Thanks to Ladislav Rudisar Charles University Czech Republic for bringing this to my attention... NOTE: NExt version will contain a PPC executable of wsftp32 Hopefully I will get the alpha version recompiled also... (axp version is out of date till I get someone to recompile it.) 7/1/95 new version that now supports being called with a url such as ftp://hostname/directory/file.zip which will automatically download this file... this allows it to be called from imail or other applications that pass url's it also still supports the old auto startup style as called from wsarchie... 9/14/95 finally got a mips version now we have all platforms although the alpha is out of date... thanks to Holger Liebig for the mips recompile...

近期下载者

相关文件


收藏者