DataFlex
DataFlex
FTP Socket Buffer and Address Options
See more FTP Examples
Demonstrates the SoRcvBuf, SoSndBuf, PreferIpv6, and ClientIpAddress properties.
Background: These are low-level knobs for specific situations. Larger send/receive buffers can improve throughput on high-bandwidth, high-latency links, though the defaults suit the common case.
PreferIpv6 only matters when a hostname resolves to both address families, choosing which to try first. ClientIpAddress is normally left unset; set it on a multihomed host to bind the outgoing connection to a particular local interface. Change any of these only with a concrete reason.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "ftp.example.com"
Set ComUsername Of hoFtp To "myFtpLogin"
// SoRcvBuf and SoSndBuf set the TCP socket receive/send buffer sizes. The defaults are tuned for
// the common case; larger values can sometimes help throughput on high-latency links.
Set ComSoRcvBuf Of hoFtp To 4194304
Set ComSoSndBuf Of hoFtp To 524288
// PreferIpv6 (default False) chooses IPv6 over IPv4 when a hostname resolves to both.
Set ComPreferIpv6 Of hoFtp To False
// ClientIpAddress is normally left unset; set it on a multihomed host to bind the outgoing
// connection to a specific local interface.
Set ComClientIpAddress Of hoFtp To "192.168.1.50"
// Normally you would not hard-code the password in source. You should instead obtain it
// from an interactive prompt, environment variable, or a secrets vault.
Set ComPassword Of hoFtp To "myPassword"
Get ComConnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Connected with custom socket options."
Get ComDisconnect Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
End_Procedure