[JDEV] Dialup and laptop users, lost packets, and faulty presence info
Nathan Sharp
spamnps+jabber at phoenix-int.com
Thu May 16 16:59:06 CDT 2002
David,
I had originally thought that, but was having difficulty parsing
through the jabberd code, plus I figured an external component would be
a configurable tool that I could publish back somewhere, if it worked.
Regardless, your message gave me inspiration to parse through more code
and once I found the right place - pthsock/client.c - it was incredibly
easy to add just that in. I've added it in as a configurable option and
am pretty sure that with just a little more work I can even have it skip
heartbeats when there has been recent activity on the socket (saving
bandwidth and resources). Once I have a chance to set up a test server
and run it for a while to prove the point, I'll submit a patch back here.
So the questions become:
1) How different is the 1.5 code? (don't answer that, I can take a look
later myself )
2) What does it take to get my patch into the main distribution?
Anyhow, thanks for the thoughts!
Nathan (aka tinman on jdev at conference.jabber.org)
David Waite wrote:
> I would recommend a heartbeat which instead does what clients have
> done for a while - sends a whitespace character in-between XML
> packets. You would need to modify the client connection piece to do
> this (c2s/jadc2s/jpoll/dpsm/whatever); but it would be significantly
> less intrusive to a client than a separate component sending new XML
> elements. Rather than having the clients reply to this message, their
> TCP/IP stack will just ACK the new packet. Failure will result in the
> stack of the server recognising the socket as dead, which will be
> treated just like a (clean) disconnect is now.
>
> -David Waite
>
--
Nathan P Sharp
Phoenix Integration
1715 Pratt Dr
Suite 2000
540-961-7215
540-961-5831 (fax)
More information about the JDev
mailing list