[JDEV] Keep-Alives
Tijl Houtbeckers
tijl at druppel.nl
Thu Jul 4 14:12:41 CDT 2002
Matthias Wimmer <m at tthias.net> wrote
>Hi Tijl!
>
>Tijl Houtbeckers wrote:
>
>>A few problems I see with using keep-alives (as far as I understand them)
>>1. It is very low level, not all programming languages / devices will have acces to it.
>>
>It's right that not every programming language support activating
>keep-alives, but:
>- you only have to activate it at the server
>- you don't have to do anything on the client it's completely
>transparent to it
>- it's accessible by much more programming languages then the OOB data
True, I never considered OOB data though..
>>2. It is bound to TCP/IP, I could for example use a bluetooth link or a serial link
instead
>>of TCP/IP. Jabber over HTTP also sort of falls into this catagory.
>>
>TCP keep-alives aren't and won't be needed by the Jabber protocol. It
>just solves some problems we have with TCP. Therefore we only need it
>with TCP.
Well, it's a problem in manny connection oriented enviroment, not just TCP/IP.. if we
start using keepalive will people say: we've got the solution now, so why bother on
making something on the jabber protocol level (or support it)?
>>3. keep alive is OS dependant. Not all OSes provide acces to it, and some let you
set
>>it only for all applications, not specific ones (as I understand from earlyer postings).
>>
>On the one hand I know no operating system that doesn't support it, on
>the other hand you only need support for it on the server side.
Hm, I suppose you're right here, there's not manny operating systems left that don't
support it, and the ones I can think of you probably would not want to run a jabber
server on anyway.
>>4 I asume keep-alives will be for *all* user that log into jabber, some might not
want
>>keep-alives or anything like it at all for their clients.
>>
>As I told: It's completely transparent to the client. The only thing why
>he couldn't like it is that the client has very expensive metered
>traffic. For this clients would be possible to include some way to
>disable keep-alives (the server can activate and deactivate keep-alives
>per connection).
> But as I wrote above: It is a very small amount of
>additional traffic and it's only generated on idle connections. Every
>other way to fix our TCP problems will generate more traffic.
>
>>A few of these problems came up before on the mailinglist, and I haven't yet heard
a
>>solution for them. It might not hinder any implemention for this on *nix, but the
>>problem will still remain for the platforms/implementations that can not use this.
>>
>We have servers on Unix, Windows and Java. All of this three platforms
>support keep-alives (Java since version 1.3). The client side is
>supported by every platform/language that supports TCP/IP.
I suppose my worries were a bit overstated, keepalives sound like a good solution
(should they be opt-in or opt-out?). I hope they won't screw up my GPRS links but I
don't think so.. I doubt there that manny implementations of jabber over something
else as TCP/IP anyway, we'll just have to cross that bridge when we get there..
--
Tijl Houtbeckers
JAVA/J2ME/GPRS Programmer @ Splendo
More information about the JDev
mailing list