📄 ckermit.bwr
字号:
+++ATH0if sent through a TIES modem, for example because you were uploading thisfile through it, could pop the modem back into command mode and make it hangup the connection. Newer versions of the Telebit T1600 and T3000 (versionLA3.01E firmware and later), and all WorldBlazers, use TIES.Although the probability of "+++" appearing in a Kermit packet is markedlylower than with most other protocols (see the File Transfer section below), itcan still happen under certain circumstances. It can also happen when usingC-Kermit's TRANSMIT command. If you are using a Telebit TIES modem, you canchange the modem's escape sequence to an otherwise little-used controlcharacter such as Ctrl-_ (Control-Underscore): AT S2=31A sequence of three consecutive Ctrl-_ characters will not appear in aKermit packet unless you go to extraordinary lengths to defeat more than a fewof Kermit's built-in safety mechanisms. And if you do this, then you shouldalso turn off the modem's escape-sequence recognition altogether: AT S48=0 S2=255But when escape sequence recognition is turned off, "modem hangup"(<pause>+++<pause>ATH0<CR>) will not work, so you should also be sure to SETDIAL MODEM-HANGUP OFF.(8) TERMINAL SERVERSHow to DIAL from a TCP/IP reverse terminal server (modem server): 1. (only if neccessary) SET TELNET ECHO REMOTE 2. SET HOST <terminal-server-ip-name-or-address> [ <port> ] 3. SET MODEM <modem-type> 4. (only if necessary) SET DIAL HANGUP OFF 5. DIAL <phone-number>The order is important.Watch out for terminal server's escape character -- usually a controlcharacter such as Ctrl-Circumflex (Ctrl-^). Don't unprefix it in Kermit !Ciscos -- must often be told to "terminal download"... Cisco ASM models don'thave hardware flow control in both directions.Many terminal servers only give you a 7-bit connection, so if you can't makeit 8-bit, tell Kermit to "set parity space".The following story, regarding trouble transferring 8-bit files through areverse terminal server:A contributed story about Annex terminal servers (begin quote):Using C-Kermit on an HP 9000 712/80 running the HP-UX 10.0 operating system.The HP was connected to a Xylogics Annex MICRO-ELS-UX R7.1 8 port terminalserver via ethernet. On the second port of the terminal server is an AT&TParadyne 3810 modem, which is connected to a telephone line. There is aprogram which runs on the HP to establish a Telnet connection between a serialline on the Annex and a character special file on the HP (/dev file). This isan Annex specific program called rtelnet (reverse telnet) and is provided withthe terminal server software. The rtelnet utility runs on top of thepseudo-terminal facility provided by UNIX. It creates host-originiatedconnections to devices attached ot Annex serial ports. There are severalcommand line arguments to be specified with this program: the IP address ofthe terminal server, the number of the port to attach to, and the name of thepseudo-device to create. In addition to these there are options to tellrtelnet how to operate on the connect: -b requests negotiation for Telnetbinary mode, -d turns on socket-leve debugging, -f enables "connect on thefly" mode, -r removes the device-name if it already exists, etc. The mostimportant of these to be specified when using 8 data bits and no parity, as wefound out, was the -t option. This creates a transparent TCP connection tothe terminal server. Again, what we assumed to be happening was that thertelnet program encountered a character sequence special to itself and then"eating" those kermit packets. I think this is all of the information I cangive you on the configuration, short of the values associated with the port onthe terminal server. If I can provide any other details, just let me know.Thanks again for your help.(end quote)(9) TERMINAL EMULATIONExcept for the Windows, OS/2, and Macintosh versions, C-Kermit does notemulate any kind of terminal. Rather, it acts more or less as a "transparentpipe", passing the characters you type during a CONNECT session to the remotehost, and sending the characters received from the remote host to your screen.Whatever is controlling your keyboard and screen provides the specificterminal emulation: a real terminal, a PC running a terminal emulator, etc, or(in the case of a self-contained workstation) your console driver, a terminalwindow, xterm, etc.There are several exceptions to the "transparent pipe" rule: - During a TELNET ("set host") session, C-Kermit itself executes the TELNET protocol and performs TELNET negotiations. (But it does not perform TN3270 protocol or any other type of 3270 terminal emulation.) - If you have changed your keyboard mapping using SET KEY, C-Kermit replaces the characters you type with the characters or strings they are mapped to. - If you SET your TERMINAL CHARACTER-SET to anything but TRANSPARENT, C-Kermit translates your keystrokes (after applying any SET KEY definitions) before transmitting them, and translates received characters before showing them on your screen. - If your remote and/or local TERMINAL CHARACTER-SET is an ISO 646 7-bit national character set, such as German, French, Italian, Swedish, etc, or Short KOI used for Cyrillic, C-Kermit's CONNECT command automatically skips over ANSI escape sequences to avoid translating their characters. Only ANSI/ISO standard (VT100/200/300-like) 7-bit escape sequence formats are supported for this purpose, no proprietary schemes like H-P, Televideo, Tektronix, etc. - If your version of C-Kermit includes SET TERMINAL APC command, then C-Kermit's CONNECT command will handle APC escape sequences if TERMINAL APC is not set to OFF (which is the default).If you are running C-Kermit under a console driver, or in a terminal window,that emulates the VT100, and use C-Kermit to log in to a VMS system, theconsole driver or terminal window (not Kermit) is supposed to reply to the"what are you?" query (ESC Z) from the VAX. If it doesn't, and you can't makeit do so, then you can (a) live with the "unknown terminal" problem; (b) tellVMS to SET TERMINAL/DEVICE=VT100; (c) program a key using SET KEY to send theappropriate sequence and then punch the key at the right time; or (d) use theVMSLOGIN macro that is defined in CKERMIT.INI to do this for youautomatically.SET SESSION-LOG { TEXT, BINARY }, which is effective in UNIX and AOS/VS butnot other C-Kermit versions, removes CR, DEL, NUL, XON, and XOFF characters("Using C-Kermit" neglects to mention that XON and XOFF are removed). TheTEXT-mode setting is ineffective during SCRIPT command execution, as well ason X.25 connections.(10) KEY MAPPINGExcept in the terminal-emulating versions, C-Kermit's key mapping facilitiesare limited to normal "ASCII" keys, and cannot be used with function keys,arrow keys, arcane key combinations, etc. Since C-Kermit runs on such a widevariety of hardware platforms (including, for example, more than 360 differentUNIX platforms), it is not possible for C-Kermit to support every conceivablekeyboard under every release of every UNIX (or VMS, or ...) product on everydifferent kind of computer possibly under all manner of different consoledrivers.In technical terms, C-Kermit uses the read() function to read keystrokes, andread() returns a single byte (value 0 through 255). C-Kermit's SET KEYfunction applies to these single-byte codes. "Extended function" keys, suchas F-keys, arrow keys, etc, usually return either a 2-byte "scan code" or elsea character string (such as an escape sequence like "ESC O p"). In bothcases, C-Kermit has no way to tell the difference between such multibyte keyvalues, and the corresponding series of single-byte key values. This couldonly be done by accessing the keyboard at a much lower level in a highlysystem-dependent manner, probably requiring tens of thousands of lines of codeto support even a sampling of the most popular workstation / OS combinations.However, most workstation console drivers (terminal emulation windows, etc)include their own key-mapping facility. For example, on an IBM RS/6000, theAIXterm program (in whose window you would run C-Kermit) allows rebinding ofthe F1-F12 keys to arbitrary strings. The same might or might not be true ofDECterm windows, Sun "vttool" or "crttool" windows, etc. Consult thetechnical documentation for your workstation or emulator.The SET KEY command (except in OS/2) does not allow a key definition to be(or contain) the NUL (\0) character.(11) THE TRANSMIT COMMANDSession logging is inactive during the TRANSMIT command, even if you havegiven a LOG SESSION command.(12) FILE TRANSFERIf you have a multihop connection, with the interior nodes in CONNECTmode (Kermit, Telnet, Rlogin, or any other), you can expect (a) file transferto be slower, and (b) the connection to be less transparent (to controlcharacters, perhaps to the 8th bit) than a more direct connection.The recovery feature (RESEND command) that was added in edit 190 works onlyfor binary-mode transfers. In order for this feature to be useful at all, thedefault for SET FILE INCOMPLETE was changed from DISCARD to KEEP. Otherwisean interrupted transfer would leave no partial file behind unless you hadremembered to change the default. But now you have to pay closer attention toKermit's messages to know whether a transfer succeeded or failed --previously, if it failed, the file would not show up on the receiving end atall; in edit 190 and later, you'll get a partial file which could easily bemistaken for the complete file unless you change the default back to DISCARDor read the screen messages, or keep a transaction log.Watch out for SET FILE COLLISION RENAME, especially when used in conjunctionwith recovery. Recall that this option (which is NOT the default) renamesthe incoming file if a file already exists with the same name (the default isto rename the previously existing file, and store the incoming file with itsown name). It is strongly recommended that you do not use SET FILE COLLISIONRENAME if you ever intend to use the recovery feature: . When the file is first received by C-Kermit, its name will be changed if another file already has the same name. When you RESEND the same file after a failure, C-Kermit will probably try to append the re-sent portion to the wrong file. . Assuming that you get RESEND to work with FILE COLLISION RENAME, C-Kermit, when receiving the remainder of the file during a RESEND operation, will report back the wrong name. Nothing can be done about this because the name is reported back before the receiving Kermit program finds out that it is a recovery operation. Automatic directory creation for received files does not work for pathnamesgiven in the "-a" command-line argument.There are no command-line arguments for "set file names { literal, converted }"or "set { send, receive } pathnames { on, off }", but you can include these(or any other) commands on the command line in the -C option string.When referring to MS-DOS, Atari ST, OS/2, or other file specifications thatcontain backslash characters in a C-Kermit command, you might have to doubleeach backslash, for example: C-Kermit>get c:\\directory\\foo.txtThis is because backslash is used in C-Kermit commands for introducing specialcharacter codes, variables, functions, etc. If you are sending this GETcommand to another copy of C-Kermit running as a server, for example on OS/2or the Atari ST, it too treats backslashes as prefix characters, so you willneed 4 (yes, 4) copies of each backslash: C-Kermit>get c:\\\\directory\\\\foo.txtBut read about the new command, SET COMMAND QUOTING OFF, in the manual.ANOTHER NOTE: In Kermit 95 and OS/2 C-Kermit, this restriction is lifted asfar as referring to files on the local PC. You can now refer to these filesusing natural PC notation, e.g. C-Kermit>send c:\letters\oofa.txtAttempting to cancel local-mode file reception at a very early stage (i.e.before data packets are exchanged) with X or Z does not work. Workarounds:Use E or Ctrl-C instead, or wait until the first data packets are sent.If you cancel a transfer that is underway using X or Z, and a lot of windowslots are in use, it might take a long time for the cancellation to take
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -