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.
|