Bingo. That document on FTP is basically the FTP bible. FTP is but a solution to a problem (how to transfer files and such), it's up to the programmer to implement that solution using his preferred tools (language).
Originally posted by EvBladeRunnervE
the thing is, that in both cases, it is relatively easy if you know the language. YOU should be able to comprehend and translate what you learn from there into code, not expect people to always hand it to you.
I don't mean to sound like one of the "RTFM n00bs suxx0rz" type, but perhapse you're raising the bar a bit too high for yourself here? Implementing a communications standard isn't exactly something you want to do unless you have quite a bit of experience with network programming. Since you're asking if you need to use winsock or not then maybe you should try something a little simpler?
If you're trying to learn how to muck with networks then here's my suggestion: Program a version of Unix's wget for DOS. wget is a program that downloads a file from the commandline. I.E.
An example of it's output:
Once that's done you should have enough of a clue to know where to go from there. Not to be a dick, but I seriously believe that you should take on something a bit simpler before you start coding a freakin' FTP server.
12:33:31 ~> wget cboard.cprogramming.com/newreply.php
Connecting to cboard.cprogramming.com:80... connected!
HTTP request sent, awaiting response... 200 OK
Length: 6,424 [text/html]
0K ...... 100% @ 7.21 KB/s
12:34:03 (7.21 KB/s) - `newreply.php' saved [6424/6424]
Oh, and there are FTP servers for windows on Sourceforge if you want to look at some source, btw.