Google Answers Logo
View Question
 
Q: Information about FTP Servers/clients ( No Answer,   3 Comments )
Question  
Subject: Information about FTP Servers/clients
Category: Computers > Programming
Asked by: daerian-ga
List Price: $40.00
Posted: 19 Mar 2005 13:49 PST
Expires: 18 Apr 2005 14:49 PDT
Question ID: 497301
Where can I find information about programming multithreaded FTP
Servers and Clients for Linux? (If it's a web page it would be
better.)

Request for Question Clarification by mathtalk-ga on 19 Mar 2005 22:02 PST
Hi, daerian-ga:

It's a little hard to tell from you question how deeply you want to
delve into the programming model for FTP under Linux.

Is your aim to write your own FTP Server and Client?  Or are you
simply interested in API's for existing FTP packages for the purpose
(to give an example) of automating certain data feeds?

regards, mathtalk-ga
Answer  
There is no answer at this time.

Comments  
Subject: Re: Information about FTP Servers/clients
From: himanshuarora-ga on 20 Mar 2005 08:32 PST
 
Hi daerian,

        If you are interested in programming I can suggest you the
following languages and resources:

If you want a tutorial in socket programming then go to:

     ftp://gaia.cs.umass.edu/cs653/sock.ps

1) The easiest way to do this is by using socket programming in perl.
For information with relevant code you can go to

     http://phoenix.inf.upol.cz/~kopka/courses/cs409/sockets/NP_inPerl.htm 
or
     http://lightning.prohosting.com/~xlyndon/cai/perl/perlnet.htm

both of them are basically the samething. Second one is complete.

2) For socket programming in C you can go to the following link:

     http://www.scit.wlv.ac.uk/~jphb/comms/sockets.html

3) If you want to implement ftp server and client in python then go to:

     http://www.nightmare.com/pythonwin/async_sockets.html

4) If you want to do in Java then go to:
  
     http://www.javaworld.com/jw-12-1996/jw-12-sockets.html

or download the book "Thinking in Java" from www.bruceeckel.com and
then search for socket programming in the index.

All of the stuff mentioned above supports multithreaded sockects. So,
you can program the server/client accordingly. I have implemented this
in perl as a part of course assignment. Of course you can search for
relevant tutorials on google, you will find tons of them.

Himanshu Arora
Subject: Re: Information about FTP Servers/clients
From: mani682001-ga on 22 Mar 2005 11:37 PST
 
I uploaded all of about FTP Protocol in this url:

http://www.far30net.com/doc/ftp/
Subject: Re: Information about FTP Servers/clients
From: stefan73-ga on 25 Mar 2005 11:04 PST
 
Hi Daerian,

The definitive place for info about FTP would be RFC 959:
http://www.faqs.org/rfcs/rfc959.html

Various FTP extensions and related RFCs and other info is here:
http://war.jgaa.com/ftp/?cmd=rfc

For multithreading, networking, filesystems and such in general I had
"Operating system concepts, Silberschatz & Galvin" as a course book
long ago. It's a rather general book, not all that Unix or Linux
specific. There may well be better ones more suitable if you want an
"easy read". This one will teach you how an OS works.
http://www.amazon.com/exec/obidos/ASIN/0471694665/

For Unix/Linux network programming there's the "Unix Network
Programming, Vol 1", which is a classic by now, up to its third
revision.
http://www.amazon.com/exec/obidos/tg/detail/-/0131411551
If you're on a tight budget you can always try "man 7 tcp" at the
linux prompt. You'll also want to read the man pages for bind, accept,
poll, select, read, write and such too.

When it comes to Linux threading, you can either use raw Linux kernel
calls like clone(2), but more likely you'll want to use Pthreads
(POSIX Threads). This will make your software more portable and
possible to run on other platforms as well.
Here is some Pthreads API documentation with examples:
http://www.llnl.gov/computing/tutorials/pthreads/

If you want to take a look at existing FTP servers and client source
code, take a look at:
http://freshmeat.net/browse/89/
There is lots of free source code, most likely there's some with a
suitable license which you can study or borrow ideas or even code
from. Vsftpd is an example of one which is both highly secure and very
fast.

Good luck with yor FTP implementation!
/Stefan

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy