![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I have written a TCPIP client/server app. The server is a standalone app implemented using $QIO. The client is a shareable image and is implemeted using IPC for portability. I want the server to detect loss of communication with a client when the network cable to the client is disconnected. How can I implement this? As I see it, periodic roundtrip application level messages from the server will force the caller of the client image to accommodate a loop containing a select(). And I do not want the caller t o have to deal with that. If also the client image was implemented using $QIO then queing a read with an AST which calls the read would be a solution. I do not either want to change any TCPIP configuration which will affect other processes on the system. If I remember correctly then detection of this condition is default behavior of DECnet task-to-task communication and delivered via a mailbox. Thank you very much. The Answer is : Assuming TCP (rather than UDP), you will eventually detect connection failures when a message cannot be successfully transfered. You can simply wait for this to happen (and should check for and trap this condition in any event), though the OpenVMS Wizard would also utilize asynchronous application-level ping-like messages to probe inactive connections.
|