Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
util:sexyz [2020/12/05 11:52] – [Command-line Syntax] Updated command-line usage digital manutil:sexyz [2023/12/22 12:16] (current) – [Overview] clarify native means 32-bit or 64-bit digital man
Line 5: Line 5:
 ===== 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.
Line 303: Line 303:
 <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
Line 315: Line 315:
 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]
Line 340: Line 340:
 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]
Line 351: Line 354:
 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 =====
Line 425: Line 433:
   * 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 =====
Line 443: Line 460:
   * The 16-bit CRC table and calculation macro was (unwittingly) contributed by Mark G. Mendel and Stephen Satchell.   * The 16-bit CRC table and calculation macro was (unwittingly) contributed by Mark G. Mendel and Stephen Satchell.
   * The 32-bit CRC table and calculation macro was (unwittingly) contributed by Gary S. Brown.   * The 32-bit CRC table and calculation macro was (unwittingly) contributed by Gary S. Brown.
-  * SEXYZ includes portions of the Synchronet XPDEV and SMBLIB libraries which are licensed under the GNU Lesser General Public License ([[http://www.fsf.org/licensing/licenses/lgpl.txt|LGPL]]).+  * SEXYZ includes portions of the Synchronet project (e.g. XPDEVwhich are licensed under the GNU Lesser General Public License ([[http://www.fsf.org/licensing/licenses/lgpl.txt|LGPL]]).
  
 ===== See Also ===== ===== See Also =====