<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 5.50.4611.1300" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Well I can't answer to how jabber detects outages, 
but I can comment on the SO_KEEPALIVE. You can program it to be any length of 
time (it's an ioctl).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Chuck Wegrzyn</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=jens@mac.com href="mailto:jens@mac.com">Jens Alfke</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=jdev@jabber.org 
  href="mailto:jdev@jabber.org">jdev@jabber.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, April 06, 2001 12:58 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> [JDEV] Detecting client/server 
  disconnect?</DIV>
  <DIV><BR></DIV>How does the Jabber protocol deal with the unexpected 
  disconnection of a client or server? I'm referring not to a process crash, but 
  to unlikely situations like kernel panic or power failure, as well as more 
  likely ones like network failure (modem hangs up, PacBell's DSL network horks, 
  laptop moves out of 802.11 range, baby yanks out Ethernet plug, 
  etc.)<BR><BR>According to R. Stevens' <I>Unix Network Programming, vol. 1</I> 
  (pp.185-186), this situation is not detectable unless the SO_KEEPALIVE socket 
  option is set. (But libjabber doesn't set this option.) And even keepalive 
  only detects it after two hours, which is rather too long for a real-time 
  presence protocol.<BR><BR>Some other presence protocols solve this by 
  requiring the client to send a "noop" or "ping" command every few minutes, 
  which the server must respond to. Jabber doesn't seem to have anything 
  equivalent. Am I missing or misunderstanding something, or is this an issue 
  with the current Jabber protocol?<BR><BR><B><I><?fontfamily><?param Helvetica><?color><?param 0000,5151,0101><?bigger><?bigger>—Jens<?/bigger><?/bigger><?/color><?/fontfamily></I></B></BLOCKQUOTE></BODY></HTML>