Consultor Eletrônico



Kbase 16001: Keepalive functionality on VMS
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
Keepalive functionality on VMS

Keepalive functionality on VMS

When using the TCP/IP protocol, the default arrangement
is that there is no notification by the protocol stack to
the server when the other end of the socket goes away. When
the client side is turned off (power shut off to PC), no
message is sent to the server. One can't be sent since the
computer is off.

When the server is waiting for a message from a client
(or clients), it is idle with a select() posted on the
sockets that are being used. If the server never receives
a message it does not do anything. The TCP/IP stack on the
server side does not know if the client is gone or not, and
can't notify the server when it goes away. All it knows is
that nothing has been received. Frequently this is quite
normal because the client spends a lot of time communicating
with the user and waiting for keyboard or mouse input.

If the server should try to send a message on the broken
socket then it will discover that the client is no longer
there because it gets an error on the write(). But the
server only sends something in response to a request by the
client. If the client never requests anything the server will
not send anything.

What the keepalive option does is to cause the server side
TCP/IP stack to send periodic "probe" messages through the
socket if it has been idle for some time. If there is no
response then the server gets a timeout return code from
the select.

Keepalive was added to the 6.2N11 patch for VAX and Alpha.
This funtionality is available in later versions.

Progress Software Technical Support Note # 16001