ICS have a time-out period (for FICS this is 1 hour, IIRC), and
disconnect you if that expires without you giving any commands. They
know immediately when they disconnect you, however. XBoard has an option
-keepAlive M , which sends a "date" command to the ICS every M minutes.
If M < 60 this should prevent FICS from ever disconnecting you.
TCP/IP commands also sometimes mysteriously "fade away", without either
end being informed that they no longer operate. Each side then just
thinks the other end is unusually quiet. The keepAlive option also
protects you from that: if no responsefrom the ICS arrived between
sending one "date" command, and the time where it would want to send the
next, it assumes it is no longer connected despite the fact that the
TCP/IP socket told it the sending was successful, and exits with a fatal
error. This way it will discover a broken connection within M minutes.
It does not automatically reconnect, however. Usually some user
intervention would be needed anyway, to resume what you were doing.
(E.g. you might have to resume a game that was in progress when your
connection died, or repost seek ads yuo were waiting for someone to
respond on, which the ICS removed when it saw you disconnect.) You could
of course invoke XBoard from a script that automatically reconnects it
when it exits.
Svetlana Tkachenko schreef op 1/25/2015 om 10:59 AM:
I leave xboard open and connected to Internet chess server (ICS). After a
while, because of what I think is it not sending any data to server, the
connection dies. Due to the way TCP/IP works, the fact that the connection died
is only known to server in some 20-30 minutes.
Is there a way to make xboard do something -- such as, if my understanding
above is correct, send some dummy messages to server every few minutes -- so
that I don't encounter the above issue, and can leave xboard connected to an
ICS for days?