Winjab works around this problem. It sends, once a minute, the five byte no-op message
space space tab space space
to the server. This keeps the flow open. In xml terms, this message is formally a noop; very cool.
This is a clever hack! Is there something magic about "space space tab space space" or would any whitespace sequence work?
On the other hand, using TCP keepalive seems more efficient, since responding to pings would involve only the TCP stack on the server and not the Jabber server process itself. If you imagine a server with 10,000 simultaneous connections, there are going to be 167 of these pings a second, so efficiency becomes important...
�Jens
