semi合集-English.pdf - 第1595页
SEMI E37-0303 © SEM 1995, 2003 17 APPENDIX 1 NOTE: This appendix was approved as a part of SEMI E37 by full letter b a llot procedure . A1-1 TCP/IP Procedures Using TLI and BSD Socket Inter faces A1-1.1 Passive Mode Conn…

SEMI E37-0303 © SEMI 1995, 2003 16
Table 10
Parameter Name Value Range Resolution Typical Value Description
T3 Reply
Timeout
1-120 seconds 1 second 45 seconds Reply timeout. Specifies maximum amount of time an
entity expecting a reply message will wait for that reply.
T5 Connect
Separation
Timeout
1-240 seconds 1 second 10 seconds Connection Separation Timeout. Specifies the amount of
time which must elapse between successive attempts to
connect to a given remote entity.
T6 Control
Transaction
Timeout
1-240 seconds 1 second 5 seconds Control Transaction Timeout. Specifies the time which a
control transaction may remain open before it is
considered a communications failure.
T7 NOT
SELECTED
Timeout
1-240 seconds 1 second 10 seconds Time which a TCP/IP connection can remain in NOT
SELECTED state (i.e., no HSMS activity) before it is
considered a communications failure.
T8 Network
Intercharacter
Timeout
1-120 seconds 1 second 5 seconds Maximum time between successive bytes of a single
HSMS message which may expire before it is considered a
communications failure.
Connect Mode PASSIVE,
ACTIVE
— —
Connect Mode. Specifies the logic this local entity will use
during HSMS connection establishment.
Local Entity IP
Address and
Port number
determined by
TCP/IP
conventions
— —
Required for any entity operating in PASSIVE mode.
Determines the address on which the local entity will listen
for incoming connection requests.
Remote Entity
IP Address and
Port Number
determined by
TCP/IP
conventions
— —
Required for any entity operating in ACTIVE mode.
Determines the address of the remote entity to which the
local entity will attempt to connect.
NOTE: Parameter defaults shown above are for small networks (10 nodes or less). Settings may need to be adjusted for larger network
configurations.

SEMI E37-0303 © SEM 1995, 2003 17
APPENDIX 1
NOTE: This appendix was approved as a part of SEMI E37 by full letter ballot procedure.
A1-1 TCP/IP Procedures Using TLI and BSD Socket Interfaces
A1-1.1 Passive Mode Connect Procedure
Table 1
Intended Action TLI Construct BSD Construct Comment
Obtain a connection endpoint and
bind it to a published port.
tep = t_open(...)
t_bind(tep,...)
skt = socket(...)
bind(skt,...)
BSD refers to a connection endpoint as a
“socket.” TLI refers to it as a TEP (transport end
point).
Permit socket to listen for
connections.
... listen(skt...) In TLI, the equivalent of BSD listen is not
necessary.
Connect procedure: receive
incoming connect request and
accept it.
t_listen(tep,...)
t_accept(tep,...)
accept(skt,...)
Connect procedure: receive
incoming connect request, but
reject it.
t_listen(tep,...)
t_snddis(tep,...)
... The BSD API does not support originating a
reject of a connect request, as receiving request
and accepting it are a single operation.
A1-1.2 Active Mode Connect Procedure
Table 2
Intended Action TLI Construct BSD Construct Comment
Obtain a connection endpoint. tep = t_open(...)
t_bind(tep,...)
skt = socket(...) TLI requires bind to null address for active
entity.
Connect procedure: send connect
request and receive accept or
reject from passive entity.
t_connect(tep,...)
t_rcvconnect(tep,...)
connect(skt,...) The BSD connect will correctly handle an
active reject from the TLI-based remote
entity.
A1-1.3 Terminating the Connection
Table 3
Intended Action TLI Construct BSD Construct Comment
Release the connection and free
connection endpoint.
t_sndrel(tep,..)
t_close(tep)
close(skt) The “gracefulness” of the BSD close is a
function of the local implementation.
Disconnect and free the
connection endpoint.
t_snddis(tep,..)
t_close(tep)
shutdown(skt,2)
close(skt)
Shutdown immediately disables further sends
and receives if the second arg = 2.
A1-1.4 Sending and Receiving HSMS Messages
Table 4
Intended Action TLI Construct BSD Construct Comment
Send an HSMS
message
hdr->Len = length;
t_snd(tep,hdr,14,0);
t_snd(tep,Text,hdr->Len,0);
hdr->Len = length;
write(skt,hdr,14);
write(skt,Text,hdr-
>Len);
The procedure illustrates a “typical”
implementation style in which the length bytes
and header are combined into a single 14-byte
item sent first, followed by the text. This is not to
imply that combining everything is not permitted.
Receive and HSMS
message
t_rcv(tep,hdr,14,...);
t_rcv(tep,Text,hdr->Len,...);
read(skt,hdr,14);
read(skt,Text,hdr->Len);
As above, but for receiving.

SEMI E37-0303 © SEMI 1995, 2003 18
A1-2 HSMS Scenarios
The following scenarios are provided to illustrate the HSMS procedures as used for a typical complete session. The
terminology, procedure names, and message names are further explained in the remainder of this document. Also
note that either entity may initiate the HSMS Select procedure, the Deselect or Separate procedures, and HSMS Data
Messages and Transactions. For convenience, the scenarios show the left-hand entity as the initiator of all
transactions.
A1-2.1 Begin HSMS Communication — This scenario illustrates the TCP/IP connection procedure, an HSMS select
procedure, and exchange of data messages. Note that the data message activity for TCP is for illustrative purposes
only. In fact, the actual network activity can vary. For example, even if the data messages are sent as separate calls
to t_snd (or write) as shown, the TCP/IP implementation may buffer the header and transmit it in a single packet
with the text, or the text may be split into multiple packets.
Table 5
BSD API Calls TLI API Calls Network Activity TLI API Calls BSD API Calls
Prepare to initiate a connection request. Prepare to receive a connection request.
skt = socket(...); tep = t_open(...);
t_bind(tep, ...);
tep = t_open(...);
t_bind(tep,...);
skt =
socket(...);bind(skt,...);
listen(skt,...);
Initiate a connection request and wait fo
r
response.
Receive a connection request, accept it, and
send response.
connect(skt,...); t_connect(tep,...);
t_rcvconnect(tep,...);
t_listen(tep,...);t_acce
pt(tep,...);
accept(skt,...);
Initiate an HSMS Select procedure: sen
d
request and receive response.
Respond to HSMS select procedure: receive
request and send response.
write(skt,hdr,14);
read(skt,hdr,14);
t_snd(tep,hdr,14,0);
t_rcv(tep,hdr,14,...);
t_rcv(tep,hdr,14,...);
t_snd(tep,hdr,14,0);
read(skt,hdr,14);
write(skt,hdr,14);
Send an HSMS data message as length bytes
and header, followed by Text.
Receive an HSMS data message as length
bytes and header, followed by Text.
hdr->Len = Length;
write(skt,hdr,14);
write(skt,Text,...);
hdr->Len = Length;
t_snd(tep,hdr,14,0);
t_snd(tep,Text,...);
TCP/IP Connect Req Msg(s)
TCP/IP Accept Msg(s)
Select.req Message
Select.rsp Message
HSMS Data Message (hdr)
HSMS Data Message (text)
t_rcv(tep,hdr,14,...);
t_rcv(tep,Text,...);
read(skt,hdr,14);read(s
kt,Text,...);
A1-2.2 Ending Communicaiton Using Deselect — This scenario illustrates ending an HSMS Session using the
Deselect procedure to end the HSMS session.
BSD API Calls TLI API Calls Network Activity TLI API Calls BSD API Calls
Send the Deselct.req and receive Deselect.rsp. Receive the Deselect.req and send the
Deselect.rsp.
write(skt,hdr,14);
read(skt,hdr,14);
t_snd(tep,hdr,14,0);
t_rcv(tep,hdr,14,...);
t_rcv(tep,hdr,14,...);
t_snd(tep,hdr,14,0);
read(skt,hdr,14);
write(skt,hdr,14);
Disconnect the TCP/IP Connection. Respond to Disconnect of connection.
shutdown(skt,2);
close(skt);
t_snddis(tep;
t_close(tep);
Deselect.req Message
Deselect.rsp Message
TCP/IP Disconnect Msg(s)
t_rcvdis(tep,...); close(skt);