One of most important properties you should set is
Protocol property. Just with this one property change,
wodFTPServer's internal engine may completely change.
But, the result is that client's will have same or
similar environment using your same code, no matter what
protocol you have selected.
wodFTPServer supports these protocols:
FTP - this is old-style plaintext FTP
protocol. It is not secured in any way (except for password
used to authenticate). It uses two connections - Control
and Data connections. Commands are sent on Control
connection, and files and directory listings are
transferred over Data connection. Port 21 is usually used
for this protocol.
FTPS - based on FTP protocol behavior.
Also uses Control and Data connections. But - once user
connects, he sends AUTH commands and chooses to initiate
SSL/TLS encryption, so no sensitive information is sent in
plaintext. This is very secure method, since both Control
and Data connections are encrypted. To use this protocol,
client must be aware of this protocol. This protocol is
also known as FTP/S, FTP+SSL, FTPS explicit. Port 21 is
default port for this protocol.
FTPSimplicit - based on FTP protocol, but
both Control and Data connections are immediately
'wrapped' with secure SSL/TLS layer. This means
that before any command is sent, encrypted layer is already
negotiated and data never flows in plaintext mode. This
protocol usually uses port 990. It is not common as FTPS
protocol, due to Data connections wrapping problems.
SFTP - this is SSH subsystem used for
transferring files. Internally, it is completelly different
than FTP protocols, but as a result - you can transfer
files, and get almost same information as FTP protocols
provide. It uses port 22 that shares together with other
SSH services.
No matter what protocol you select, your code should not
change, since all methods/properties/events apply to all
protocols.