Both sides previous revisionPrevious revisionNext revision | Previous revision |
util:sexyz [2020/12/05 11:57] – [Credits] SMBLIB not part of SEXYZ any longer digital man | util:sexyz [2023/12/22 12:16] (current) – [Overview] clarify native means 32-bit or 64-bit digital man |
---|
===== Overview ===== | ===== Overview ===== |
| |
SEXYZ was developed as a native (32-bit) TCP/socket-based replacement for the | SEXYZ was developed as a native (32-bit or 64-bit) TCP/socket-based replacement for the |
16-bit DOS file transfer drivers (e.g. FDSZ, CE-XYZ, etc.) that we've been | 16-bit DOS file transfer drivers (e.g. FDSZ, CE-XYZ, etc.) that we've been |
stuck with on 32-bit BBSes for FAR too long. | stuck with on 32-bit BBSes for FAR too long. |
<code ini> | <code ini> |
Telnet=TRUE ; set to FALSE to change the default mode | Telnet=TRUE ; set to FALSE to change the default mode |
TCP_NoDelay=TRUE ; disable the TCP Nagle algorithm | |
LogLevel=INFO ; set display/log output level | LogLevel=INFO ; set display/log output level |
| SysLog=FALSE ; log to syslog (*nix only) |
Debug=FALSE ; enable debug logging (overrides LogLevel) | Debug=FALSE ; enable debug logging (overrides LogLevel) |
DebugTx=FALSE ; debug transmitted characters | DebugTx=FALSE ; debug transmitted characters |
OutbufDrainTimeout=10 ; milliseconds before auto-flush | OutbufDrainTimeout=10 ; milliseconds before auto-flush |
ProgressInterval=1 ; interval (in seconds) of progress display | ProgressInterval=1 ; interval (in seconds) of progress display |
MaxFileSize=0 ; maximum receive file size in bytes (0=unlimited) | MaxFileSize=0 ; maximum receive file size in bytes (0=unlimited) |
| |
[XMODEM] | [XMODEM] |
MaxBlockSize=1024 ; 1024 is "true" ZMODEM, 8192 for ZMODEM-8K (ZedZap) | MaxBlockSize=1024 ; 1024 is "true" ZMODEM, 8192 for ZMODEM-8K (ZedZap) |
MaxErrors=9 ; maximum number of consecutive errors | MaxErrors=9 ; maximum number of consecutive errors |
RecvBufSize=0 ; specify non-zero for partial streaming receives | RecvBufSize=0 ; specify non-zero for segmented receives |
Streaming=TRUE ; set to FALSE to disable streaming (block-at-a-time) | Streaming=TRUE ; set to FALSE to disable streaming (segmented receives) |
CRC32=TRUE ; set to FALSE to force CRC-16 instead | CRC32=TRUE ; set to FALSE to force CRC-16 instead |
| FullDuplex=TRUE ; set to FALSE to disable window support (on receive) |
EscapeTelnetIAC=TRUE ; send ZDLE/ZRUB1 instead of 0xff with -telnet | EscapeTelnetIAC=TRUE ; send ZDLE/ZRUB1 instead of 0xff with -telnet |
Escape8thBit=FALSE ; ZDLE-escape all bytes with bit-7 set | Escape8thBit=FALSE ; ZDLE-escape all bytes with bit-7 set |
EscapeCtrlChars=FALSE ; ZDLE-escape all control characters (< 20h) | EscapeCtrlChars=FALSE ; ZDLE-escape all control characters (< 20h) |
| MaxWindowSize=0 ; Set to non-zero number of bytes to use window management |
| TargetWindowSize=0 ; Set to a duration (e.g. in seconds) to enable auto-adjusting window size |
| |
[DSZLOG] | [DSZLOG] |
Short=false ; use Micros~1 short path/filename in log (Windows) | Short=false ; use Micros~1 short path/filename in log (Windows) |
Quotes=false ; enclose filename in "quotes" (for EleBBS) | Quotes=false ; enclose filename in "quotes" (for EleBBS) |
| |
| [SOCKOPTS] |
</code> | </code> |
| |
**Note:**\\ | **Notes:**\\ |
Older versions of SEXYZ did not support comments on some of the ''sexy.ini'' lines shown above. | * The defaults and ''sexyz.ini'' specified values can be over-ridden via command-line options. |
| * Older versions of SEXYZ did not support comments on some of the ''sexy.ini'' lines shown above. |
| * See ''[[dir:ctrl]]/[[config:sockopts.ini]]'' for the Socket Options that can be set in the ''[SOCKOPTS]'' section. |
| * Versions of SEXYZ prior to 3.0 recognized a global ''TCP_NODELAY'' key. Now that key, if it is to be set, must be in the optional ''[SOCKOPTS]'' section (for advanced uses only). |
| |
===== Compatibility ===== | ===== Compatibility ===== |
* Failed: none | * Failed: none |
| |
| |
| ===== ZMODEM Streaming ===== |
| The ZMODEM protocol supports multiple methods of data streaming and error recovery. SEXYZ supports the following ZMODEM streaming modes, in order of decreasing successful data transfer assurance: |
| |
| * **Segmented**: a "block at a time" mode, each data subpacket acknowledged by the receiver (whom can request this mode). Can be enabled when sending via the ''-s'' option or by setting ''Streaming=false'' in ''sexyz.ini''. |
| * **Window Management**: limiting the amount of data "in-flight" between the sender and receiver using asynchronous status reporting by the receiver. Can be controlled when sending via the ''-w'' option or by setting ''MaxWindowSize'' (and optionally ''TargetWindowSize'') in ''sexyz.ini''. |
| * **Full Streaming**: the default, subject to large send-buffering on the sending side potentially resulting in failed error-recovery or completion-acknowledgment timeouts. |
| |
| //Window Management// mode was added in SEXYZ v3.0 to support very asymmetric send-operations where the sender is a modern system, potentially with multiple-megabyte send-buffers, sending to a receiver that can only consume data at a rate of 115200bps (about 10KBytes/second) or less. |
| |
===== Support ===== | ===== Support ===== |