[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