52 namespace TelnetClient {
58 const DefaultTelnetPort = 23;
61 const DefaultConnTimeout = 15s;
64 const DefaultTimeout = 100ms;
67 const DefaultTerminalType =
"xterm";
70 const DefaultTerminalSpeed = 38400;
100 SE :
"SubnegotiationEnd",
104 IP :
"Interruptprocess",
107 EC :
"EraseCharacter",
110 SB :
"SubnegotiationBegin",
114 const SUPDUP_OPT = 21;
175 TOPT_APRX :
"ApproxMessageSizeNegotiation",
178 TOPT_REM :
"RemoteControlledTransandEcho",
181 TOPT_OCRD :
"OutputCarriage-ReturnDisposition",
182 TOPT_OHT :
"OutputHorizontalTabstops",
183 TOPT_OHTD :
"OutputHorizontalTabDisposition",
184 TOPT_OFD :
"OutputFormfeedDisposition",
185 TOPT_OVT :
"OutputVerticalTabstops",
186 TOPT_OVTD :
"OutputVerticalTabDisposition",
187 TOPT_OLD :
"OutputLinefeedDisposition",
199 TOPT_TLN :
"TerminalLocationNumber",
208 TOPT_AUTH :
"TelnetAuthenticationOption",
213 TOPT_RSP :
"TelnetRemoteSerialPort",
215 TOPT_SLE :
"TelnetSuppressLocalEcho",
281 private log(
string msg);
285 private logDbg(
string msg);
292 connect(timeout timeout = DefaultConnTimeout);
450 nothing
setWarningQueue(
int warning_ms,
int warning_bs, Queue queue, any arg, timeout min_ms = 1s);
490 private final disconnectIntern();
493 private checkConnIntern();
497 private final sendDataIntern(softlist arr,
bool double_aic =
False);
500 private sendTextDataIntern(
string str);
504 private final *
string getAvailableDataIntern(timeout t = DefaultTimeout);
508 private final updateWindowSizeIntern(
hash wh);
512 private final processCmd(reference rv);
516 private final doSubNegotiation();
const TOPT_OCRD
OutputCarriage-ReturnDisposition.
Definition: TelnetClient.qm.dox.h:129
const TOPT_OHTD
OutputHorizontalTabDisposition.
Definition: TelnetClient.qm.dox.h:131
clearStats()
Clears performance statistics.
const BRK
Break.
Definition: TelnetClient.qm.dox.h:84
const TOPT_SUPO
SUPDUPOutput.
Definition: TelnetClient.qm.dox.h:141
const GA
Go Ahead.
Definition: TelnetClient.qm.dox.h:90
bool isConnected()
returns True if the client is connected to the server
const TOPT_EXTOP
Extended-Options-List.
Definition: TelnetClient.qm.dox.h:167
setUser(*string user)
sets or clears (in case passed with no value) the username parameter for logging in to the telnet ser...
const TOPT_APRX
ApproxMessageSizeNegotiation.
Definition: TelnetClient.qm.dox.h:123
*string getUser()
returns the current value of the username parameter
const TOPT_NAWS
NegotiateAboutWindowSize.
Definition: TelnetClient.qm.dox.h:150
const TOPT_OVTD
OutputVerticalTabDisposition.
Definition: TelnetClient.qm.dox.h:134
const TOPT_TS
TerminalSpeed.
Definition: TelnetClient.qm.dox.h:151
const TOPT_SUP
SUPDUP.
Definition: TelnetClient.qm.dox.h:140
private int getTerminalSpeed()
this method provides the value that will be given as the terminal speed in protocol negotiation ...
const TOPT_STAT
Status.
Definition: TelnetClient.qm.dox.h:124
constructor(string host, softint port, *code log, *code dbgLog)
creates the TelnetClient object
const TOPT_STARTTLS
TelnetStartTLS.
Definition: TelnetClient.qm.dox.h:164
const TOPT_SUPP
SuppressGoAhead.
Definition: TelnetClient.qm.dox.h:122
const TOPT_DATA
DataEntryTerminal.
Definition: TelnetClient.qm.dox.h:139
bool hasFeature(int fc)
returns True if the server has confirmed with a DO command that it supports the given feature ...
const TOPT_COMPORT
TelnetComPortControl.
Definition: TelnetClient.qm.dox.h:162
const WILL
WILL.
Definition: TelnetClient.qm.dox.h:80
const TOPT_X_AUTH
TelnetXAUTH.
Definition: TelnetClient.qm.dox.h:159
nothing clearWarningQueue()
Removes any warning Queue object from the Socket.
const EL
Erase Line.
Definition: TelnetClient.qm.dox.h:89
connect(timeout timeout=DefaultConnTimeout)
connects to the Telnet server
const TOPT_OM
OutputMarking.
Definition: TelnetClient.qm.dox.h:146
const TOPT_CHARSET
TelnetCHARSET.
Definition: TelnetClient.qm.dox.h:160
windowSizeUpdated()
this method should be called externally when the window size has changed
const DO
DO.
Definition: TelnetClient.qm.dox.h:78
const TOPT_SNDL
SendLocation.
Definition: TelnetClient.qm.dox.h:142
The TelnetClient class allows communication with a telnet server; it can be used directly or subclass...
Definition: TelnetClient.qm.dox.h:227
const TOPT_OFD
OutputFormfeedDisposition.
Definition: TelnetClient.qm.dox.h:132
const TOPT_OPS
OutputPageSize.
Definition: TelnetClient.qm.dox.h:128
const SB
Subnegotiation Begin.
Definition: TelnetClient.qm.dox.h:91
const TOPT_REM
RemoteControlledTransandEcho.
Definition: TelnetClient.qm.dox.h:126
const TOPT_BIN
BinaryTransmission.
Definition: TelnetClient.qm.dox.h:119
const TOPT_LOGO
Logout.
Definition: TelnetClient.qm.dox.h:137
const EC
Erase Character.
Definition: TelnetClient.qm.dox.h:88
const TOPT_OLW
OutputLineWidth.
Definition: TelnetClient.qm.dox.h:127
hash getUsageInfo()
Returns performance statistics for the socket.
const AYT
Are You There.
Definition: TelnetClient.qm.dox.h:87
private hash getEnvironment()
this method provides the value that will be given as the user's environment in protocol negotiation ...
const TOPT_SEND_URL
Send-URL.
Definition: TelnetClient.qm.dox.h:166
const TOPT_TERM
TerminalType.
Definition: TelnetClient.qm.dox.h:143
sendData(softlist arr)
sends data to the server
private log(string msg)
logs the message to the log closure set with the constructor (if any)
private *string getTerminalType()
this method provides the value that will be given as the terminal type in protocol negotiation ...
const TOPT_ECHO
Echo|Is|Send.
Definition: TelnetClient.qm.dox.h:120
sendTextData(string str)
sends literal string data to the server; the text dat is converted to the socket's encoding if necess...
private *string getDisplay()
this method provides the value that will be given as the DISPLAY value in protocol negotiation ...
const TOPT_TACACS
TACACSUserIdent.
Definition: TelnetClient.qm.dox.h:145
const TOPT_TLN
TerminalLocationNumber.
Definition: TelnetClient.qm.dox.h:147
destructor()
disconnects from the server if connected and deletes the object
const CmdMap
command name map
Definition: TelnetClient.qm.dox.h:94
const TOPT_XDL
XDisplayLocation.
Definition: TelnetClient.qm.dox.h:154
const TOPT_TN3270
TN3270Enhancements.
Definition: TelnetClient.qm.dox.h:158
disconnect()
disconnects from the Telnet server
const TOPT_LINE
Linemode.
Definition: TelnetClient.qm.dox.h:153
const TOPT_AUTH
TelnetAuthenticationOption.
Definition: TelnetClient.qm.dox.h:156
const IP
Interrupt process.
Definition: TelnetClient.qm.dox.h:85
const TOPT_EOR
EndofRecord.
Definition: TelnetClient.qm.dox.h:144
const TOPT_ENVIR
TelnetEnvironmentOption.
Definition: TelnetClient.qm.dox.h:155
const TOPT_BYTE
ByteMacro.
Definition: TelnetClient.qm.dox.h:138
const TOPT_ENVIR_NEW
TelnetNewEnvironmentOption.
Definition: TelnetClient.qm.dox.h:157
const TOPT_OLD
OutputLinefeedDisposition.
Definition: TelnetClient.qm.dox.h:135
nothing setWarningQueue(int warning_ms, int warning_bs, Queue queue, any arg, timeout min_ms=1s)
Sets a Queue object to receive socket warnings.
const AO
Abort output.
Definition: TelnetClient.qm.dox.h:86
const TOPT_OVT
OutputVerticalTabstops.
Definition: TelnetClient.qm.dox.h:133
const NOP
No Operation.
Definition: TelnetClient.qm.dox.h:82
private logDbg(string msg)
logs the message to the debug log closure set with the constructor (if any)
const TOPT_X3
X.3PAD.
Definition: TelnetClient.qm.dox.h:149
const TOPT_OHT
OutputHorizontalTabstops.
Definition: TelnetClient.qm.dox.h:130
const IAC
IAC.
Definition: TelnetClient.qm.dox.h:76
const TOPT_RSP
TelnetRemoteSerialPort.
Definition: TelnetClient.qm.dox.h:161
const TOPT_SLE
TelnetSuppressLocalEcho.
Definition: TelnetClient.qm.dox.h:163
const TOPT_RFC
RemoteFlowControl.
Definition: TelnetClient.qm.dox.h:152
const WONT
WONT.
Definition: TelnetClient.qm.dox.h:79
const DONT
DONT.
Definition: TelnetClient.qm.dox.h:77
const TOPT_RECN
Reconnection.
Definition: TelnetClient.qm.dox.h:121
const SE
Subnegotiation End.
Definition: TelnetClient.qm.dox.h:81
const TOPT_KERMIT
TelnetKERMIT.
Definition: TelnetClient.qm.dox.h:165
const DM
Data Mark.
Definition: TelnetClient.qm.dox.h:83
private hash getWindowSize()
this method provides the value that will be given as the terminal window size in protocol negotiation...
const OptMap
option map, maps codes to text descriptions
Definition: TelnetClient.qm.dox.h:170
const TOPT_EXT
ExtendedASCII.
Definition: TelnetClient.qm.dox.h:136
const TOPT_3270
Telnet3270Regime.
Definition: TelnetClient.qm.dox.h:148
*string getAvailableData(timeout t=DefaultTimeout)
returns all data available as a string (which could be an empty string if no data is available in the...
const TOPT_TIM
TimingMark.
Definition: TelnetClient.qm.dox.h:125