Why cant you put a packet on the link up to the data transfer is finish? What is your MTU ? that is what MTU is for. Or perhaps your MTU into time units is bigger than you want to signal ! Cheers 2011/4/5 Don Tucker <dtucker@xxxxxxxxxxxxxxxx>: > Hello, > > I am working on an application that needs to be able to rapidly detect a > lost connection between an ssh client and ssh server. I am using ssh to do > local and remote port forwarding, and sending data across the forwarded > ports. I was originally relying upon the TCPKeepAlive probes, but found > that I could not consistently detect a lost detection. Using the > ServerAliveInterval and ServerAliveCountMax options, however, I am able to > consistently detect a lost connection. The problem is, if I am using a > low-bandwidth connection (cellular modem), and I am pushing a significant > amount of data across, it seems that this hinders the communication between > the client and server with the ServerAlive messages. In other words, when I > am actually USING the connection, my application can mistakenly detect the > connection as lost because the ServerAliveInterval x ServerAliveCountMax is > exceeded without a response from the server. I was surprised at this > behavior, since I expected the ServerAlive probes to only start after data > flow between the client and server machines across that connection had > ceased, but perhaps I am misunderstanding. I do not have much leeway as to > how the server is configured. Can someone recommend a way to be able to > both (1) quickly detect a lost connection [which, seems to require the > interval and countmax be small], but not mistakenly detect the connection as > lost when it is being used? > > Thank you for any assistance. > > Don > > > >