Hello, I looked in the archive before posting this and couldn't find an answer, so please excuse me if it has already been commented.
I was wondering if there is a way to detect a lost connection when the other side doesn't close the connection "cleanly". Actually the server I wrote with MINA takes connections from GPRS modules and eventually sends messages to some of them. The matter is that sometimes the GPRS modules face some network problem and lose their IP session. When that happens, MINA (or the Operating System, for that matter) takes a long time (many minutes) to realize the connection is gone. I am aware that there are means to adjust this delay within the OS, but I was expecting MINA to check that for me. If MINA sends a string of bytes for which the TCP/IP stack never got an ACK, I think MINA was supposed to know it. Of course I could implement some kind of protocol to check for active connections: the GPRS modules could periodically send some data, and sessionIdle() would point out the 'mute' peers and then those sessions could be closed. But that isn't very much efficient, and also the GPRS is charged by traffic and this approach would result in a high fixed cost for the system. I was hoping MINA could confirm that all bytes scheduled to be sent for a certain session were actually received by the other party; if some bytes remain there after a Timeout, then some event should be triggered. Is there any easy way to achieve this, and I'm still not able to see? Thanks in advance, Fernando
