I am sorry to resurrect such an old thread. Mark, did you implement the optional keepalive support to the asyn socket driver, yet?
Here in SLAC we are seeing a scenario where it would be really useful. We have an equipment that sends data each second through a serial to ethernet converter. This equipment does not accept any commands. Eventually, the converter reboots and Asyn receive
no warning. So, for Asyn, we have an alive connection with no data, and for the converter, there is no active connection.
I tried this using only telnet without an IOC running and the behavior is the same: telnet does not know that the connection was broken with the converter.
The keepalive parameter would help us a lot in this case.
By now, we are implementing the workaround you suggested in tech-talk "Force TCP/IP reconnect from Asyn/Streamdevice" thread (http://www.aps.anl.gov/epics/tech-talk/2017/msg00863.php).
Márcio Paduan Donadio
Software Engineer - SLAC - TID/AIR/ACS
Subject: Re: asyn timeout
From: Pedro Gigoux <email@example.com>
To: Mark Rivers <firstname.lastname@example.org>
Cc: "email@example.com" <firstname.lastname@example.org>
Date: Mon, 19 Oct 2015 18:24:12 -0300
I'd be happy to test the keepalive option when it's ready. It may not happen immediately since the instrument is a shared resource and the time to use it is allocated in blocks.
On 19 October 2015 at 16:10, Mark Rivers <email@example.com> wrote:
It seems like it might be a good idea to add optional keepalive support to the asyn socket driver. If I were to create a branch on github that implemented this would you be able to test it?