[omniORB] How to detect death of a client?

Michael Nikonov mini@hitech.mipt.ru
Mon, 09 Nov 1998 22:10:25 +0300


Hi,

I have a problem which seems to be quite common to many client-server
projects:

In my application, when client suddenly dies (for example, due to a
crash or when user turns
off his machine without shutting down the client application), server
must be aware of
this fact because it must free resources associated with that client
(like memory buffers
or database connection).

In traditional server applications (which use raw sockets) this is often
can be done
by determining when client closes the socket.

However, according to CORBA specs, ORB can close inactive connections,
and then re-open them as needed. So the above criteria cannot be used
with CORBA/IIOP application.

I know there are many possible solutions to the problem,
but I'm just curious, what are the most common ways of detecting
client death with CORBA/IIOP/omniORB?