Receives a Telnet command from a Telnet connection.
WebAPI.bdh
WebTelnetRecvCommand( in hWeb : number, in iCmd : number optional, in iOpt : number optional, out iRecvCmd : number optional, out iRecvOpt : number optional ): boolean;
true if the operation was successful
false otherwise
Parameter | Description |
---|---|
hWeb | Valid handle to a Web connection created by WebTcpipConnect and set to Telnet mode using WebTcpipSetTelnetMode. |
iCmd | Telnet command to be received from the server (optional). If omitted or set -1 then no verification will be performed. See constants in WebTelnetSendCommand for valid values. |
iOpt | Telnet option for WILL/WONT/DO/DONT and SB Telnet commands (optional). See constants in WebTelnetSendCommand for valid values. If omitted or set to -1 no verification will be performed. |
iRecvCmd | An optional variable may be passed to this function to obtain a Telnet command received from the server (optional). |
iRecvOpt | An optional variable may be passed to this function to obtain a received Telnet command option (optional). |
dcltrans transaction TInit begin StrSetHostCP(28591); // 28591 (ISO 8859-1 Latin I) end TInit; transaction TMain var hWeb0 : number; sBuffer : string; sBoundary : string; nOption : number; begin WebTcpipConnect(hWeb0, "My.TelnetHost.IP", WEB_PORT_TELNET); WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_ANSI, 80, 24, true, TELNET_MODEOPT_RFC_1576); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalSpeed); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_XDisplayLocation); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NewEnvironment); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TerminalType); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_TerminalSpeed); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_XDisplayLocation); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_NewEnvironment); WebTelnetRecvSubNegotiation(hWeb0, TELNET_OPT_TerminalType); WebTelnetSendTerminalType(hWeb0, "vt100"); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_Echo); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NegotiateWindowSize); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Status); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_RemoteFlowControl); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_Echo); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_NegotiateWindowSize); WebTelnetSendSubNegotiation(hWeb0, TELNET_OPT_NegotiateWindowSize, "\h00500018"); WebTelnetSendCommand(hWeb0, TELNET_CMD_DONT, TELNET_OPT_Status); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_RemoteFlowControl); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Echo); WebTcpipGetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvPacketsUntilData(hWeb0, "login: "); WebTelnetTypeKeys(hWeb0, StrToHostCP("leo"), 359.3, TELNET_FLAG_CASE_SENSITIVE); WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipRecvExact(hWeb0, NULL, 390); WebTcpipSetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvUntilIdle(hWeb0, NULL, 5000); WebTcpipSendBin(hWeb0, "\h0D000D0A"); WebTcpipRecvPackets(hWeb0, NULL, 3); WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipSendPacket(hWeb0, StrToHostCP("8") + "\h0D00"); WebTcpipRecvClose(hWeb0, NULL); WebTcpipShutdown(hWeb0); end TMain;