AccessServer Int1TerminalPort |
||||||||||||||||||||||||
Confidential and Proprietary Information of Quickware Inc
1 IntroductionThis document describes a new AccessServer (QAS) port type, called the INT1terminalPort. The purpose of this port type is to listen for connections from INT1 terminal devices and create a user connection to a client program that has previously opened a client tcp connection, in a similar manner to the documented INTdataPort. The concepts discussed here are mostly based on the INTdataPort; principally all the message functions and payload definitions are exactly the same. The following areas differ and are discussed in detail below:
2 DetailsThe INT1terminalPort differs from previous implementations in that listening ports are required for both the client program and for the terminals. -------- -------- ----------
| terms|--->| QAS |<---| client |
-------- -------- ----------
For example: --------
| QTerm| Configure host=MyHost app=TIP IPadr=QAS_SERVER port=102
--------
| |
--------
---------
2.1 Client Listening PortQAS opens a configured listening port on which the client can connect. After accepting a client connection, QAS expects to receive a fncRegister command packet that identifies the target application name that the client supports. Subsequently, terminal connections provide the application name as a means of requesting the target host (see below). fncRegister #1
QAS listening port <-----------------Client_1
- note appName-1 for mapping INT1
connections to this port client
fncRegister #2
QAS listening port <-----------------Client_2
- note appName-2 for mapping INT1
connections to this port client 2.2 Terminal Listening Port
A listening port for the INT1 terminals is
pre-configured and QAS is permanently listening for INT1 terminal
connections. On accepting a terminal connection QAS waits for the TP0
connect packet, extracts the destination application name, maps the
connection to an existing client connection, and sends a connect request to
the client:
- send fncConnect to Client - receive fncConConf from Client - send data to Client | | | | | | | | V V V V Client1 Client2 etc.. If there is no matching client then the terminal session is closed. A duplicate terminal name on the same terminal listening port is rejected unless it is from the same IP address and tcp port number, in which case it is considered to be a reconnect. 2.3 Terminal Connection NotificationOn the current INT1dataPort the client sends a connect request packet (fncConnectStr) with m_user1/m_user2 identifiers for the connection. When the connection is made, QAS responds with a fncConConf and the m_connectionID. With the new INT1terminalPort, QAS sends the client a connect request for a terminal (fncConnect) with m_connectionID and the client responds with a fncConConf with m_user1/m_user2, or a fncConRej if the client does not want to accept the connection. INT1 TP0 request fncConnect (m_connectionID) terminal-------------> QAS ----------------------------------> Client fncConConfirm (m_user1/m_user2) <--------------------------------- All data packets are exchanged with the exchanged connection identifiers. Either side is able to issue a fncDisconnected command to cover the situations where the terminal operator closes the session or the host closes the session. 2.4 Terminal InitializationAfter a terminal has connected and the connection has been accepted by the client the terminal's INT1 context has to be initialized, by sending WRTP commands. The following zone parameters are sent to the terminal to initialize the INT1 state for a TIP type context.
2.5 Terminal PrintingIt is assumed that each terminal device has only a single printer. It is assumed that all print invocation is in the UTS datastream; no other indication is to be sent in the message header. A status message (fncStatus) will be returned on the client connection for each print message sent to a terminal. 2.6 Network ManagementThe existing visual format implemented by QMC will be used, and extended for this new port type. The configuration dialog for the client listening port is the same as for the INT1dataPort except for the addition of the terminal port number. 3 Message DetailsThe message level interface describes a message format that is used to pass all messages to and from the client. These message functions will be introduced to support new commands.
See the INT1dataPort for function details. |