|
The Telnet Protocol library enables an application to connect to
a Telnet server, which provides an interactive terminal session
similar to how character based consoles and terminals work. The
user can login, enter commands and interact with applications
programmatically or in conjunction with the terminal emulation
library.
The first step that your application must take is to initialize
the library, then establish a connection to the server and
authenticate the client. The following functions are available for
use by your application:
TelnetInitialize
Initialize the library and load the Windows Sockets library for the
current process. This must be the first function call the
application makes before calling the other Telnet API
functions.
TelnetConnect
Establish a connection to the Telnet server. This function will
return a handle to a client session which is used in subsequent
calls to the Telnet API.
TelnetDisconnect
Disconnect from the Telnet server and release any resources that
have been allocated for the client session. After this function is
called, the client handle is no longer valid.
TelnetUninitialize
Unload the Windows Sockets library and release any resources that
have been allocated for the current process. This is the last
function call that the application should make prior to
terminating.
Input and Output
Once connected to the Telnet server, any output generated by a
program on the server will be sent as data for the client to read.
Any input to the program is sent by the client and received and
processed by the server. The following functions are
used:
TelnetRead
Reads any output that has been generated by the program executing
on the server. When the client first connects, the server typically
executes a login program that requests the users authenticate
themselves by entering a user name and password. Once the user has
logged in, they are usually given a command line prompt where they
can enter commands to be executed on the server. If the server
closes the connection, the TelnetRead function will indicate that
with an error result and the client can disconnect from the server
at that point.
TelnetWrite
Send data to the Telnet server which will be received as input to
the program. If the local echo option is enabled, then the client
is also responsible for writing the input data to the display
device, if there is one. If local echo is not enabled, the server
will automatically echo back any characters written as data to be
read by the client.
Telnet Modes
Telnet supports several modes of operation and the option
negotiation phase, which occurs when a connection is established,
is handled automatically by the library. There are two key modes
which affect how the client session works:
TELNET_MODE_LOCALECHO
If this mode is enabled, it is the responsibility of the client to
echo any data that it is sending to the server. For example, if the
character "A" is sent to the server, the application must also send
the character "A" to whatever interface the user is interacting
with, such as a terminal emulation window. The default mode is for
this option to be disabled, which means that the server will echo
back any data that is sent to it.
TELNET_MODE_BINARY
If this mode is enabled, the data between the client and server is
not buffered and the high bit is not removed from any characters.
If the application is executing a program which uses text mode
windowing features (i.e.: it draws boxes on the display) then this
mode must be enabled to ensure that the client processes the data
correctly and it isn't buffered a line at a time. If this mode is
disabled, then the data exchanged between the client and server
will be buffered a line at a time and any 8bit characters will be
stripped. This mode is enabled by default.
Command Processing
The Telnet protocol can be used to connect to a server, log in
and execute one or more commands, process the output from those
commands and display it to an end-user using a graphical interface.
The user never sees or interacts with the actual terminal session.
The Telnet API provides functions which can simplify this kind of
application, reducing the amount of code needed to process the data
stream returned by the server.
TelnetLogin
This function is used to automatically log a user in, using the
specific user name and password. This function is specifically
designed for UNIX based servers or Windows servers which emulate
the same basic login sequence.
TelnetSearch
This function is used to search for a specific character or
sequence of characters in the data stream returned by the server.
The library will accumulate all of the data received up to the
point where the character sequence is encountered. This can be used
to capture all of the output from a command, or search for specific
results returned by the command as it executes on the server.
|