Back to product page

Protocol property


Determines which protocol is used.

Type

A ProtocolsEnum enumeration.

Syntax

  • Basic
object.Protocol [= value]
The Protocol(object,value) syntax has these parts:
objectAn expression evaluating to an object of type wodFTPD.
valueA ProtocolsEnum enumeration, as described in settings.

Remarks

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.

The settings for the value are:
Constant Value Description
FTP0 FTP protocol.
SFTP 1 SFTP protocol.
FTPS2 FTP+SSL protocol.
FTPSimplicit4 FTP+SSL implicit on port 990.

Platforms

Windows