<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>RE: [JDEV] Multiple logins</TITLE>

<META content="MSHTML 5.00.3315.2870" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=454215616-24052001>I must 
agree with Jens on this one, or at least partly:&nbsp; I think 
<STRONG>clients</STRONG> need to auto-reconnect (at the user's preference), but 
the <STRONG>libraries</STRONG> that clients are built on top of should 
<STRONG>NOT</STRONG> attempt an auto-reconnect.&nbsp; Let the client code handle 
an auto-reconnect, not the library.&nbsp; This said, better (formatted?) 
(stream-level) error-reporting is necessary.</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=454215616-24052001></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=454215616-24052001>Just 
more of my change here, though... (-:</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=454215616-24052001></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=454215616-24052001>Matt</SPAN></FONT></DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
  <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma><FONT 
  size=2><SPAN class=454215616-24052001><FONT color=#0000ff 
  face=Arial>&nbsp;&nbsp;</FONT></SPAN>-----Original 
  Message-----<BR><B>From:</B> Colin Madere 
  [mailto:colin@vedalabs.com]<BR><B>Sent:</B> Thursday, May 24, 2001 9:45 
  AM<BR><B>To:</B> 'jdev@jabber.org'<BR><B>Subject:</B> RE: [JDEV] Multiple 
  logins<BR><BR></FONT></DIV></FONT><BR>
  <P><FONT size=2>Just FYI to everyone, this is a feature, not a bug (the 
  connect/disconnect flip-flop problem is just an unfortunate 
  side-effect).&nbsp; With the internet as flakey as it is due to many variables 
  (not the least of which is the DDoS attacks related by Jer) I think 
  auto-reconnect is a must.</FONT></P>
  <P><FONT size=2>I DO like the idea that a client should only do this if it 
  didn't get a proper disconnect notice, but that's something that client 
  developers should handle :)&nbsp; I think a more verbose stream:error would be 
  great and using codes (for non-english speakers AND so programmatic behavior 
  can be set up) is an excellent idea.</FONT></P>
  <P><FONT size=2>Colin</FONT> </P>
  <P><FONT size=2>-----Original Message-----</FONT> <BR><FONT size=2>From: Jens 
  Alfke [<A href="mailto:jens@mac.com">mailto:jens@mac.com</A>]</FONT> <BR><FONT 
  size=2>Sent: Thursday, May 24, 2001 11:26 AM</FONT> <BR><FONT size=2>To: 
  jdev@jabber.org</FONT> <BR><FONT size=2>Subject: Re: [JDEV] Multiple 
  logins</FONT> </P><BR>
  <P><FONT size=2>IMHO, if a client is disconnected by the server [receives an 
  &lt;error&gt; and &lt;/stream&gt;] it should not automatically attempt to 
  reconnect. There is probably some good reason it was disconnected, and this 
  thread illustrates one of the dangers of automatic reconnects. It'd be better 
  to put up a dialog box with "Reconnect" and "Cancel" buttons and let the user 
  decide. (Having a meaningful error code and message to display in the dialog 
  would be even better, of course.) </FONT></P><BR>
  <P><FONT size=2>In the event of a network-level disconnect, where the stream 
  isn't properly closed, automatic reconnect might still be a good idea. It 
  would help if the client could use some kind of OS-specific functionality* to 
  determine whether the network is still up or not - if I unplug the Ethernet 
  from my laptop I don't want the client to start an infinite series of 
  reconnect attempts, nor do I want it to start dialing the phone to my ISP 
  without my intervention. </FONT></P><BR>
  <P><FONT size=2>-Jens </FONT></P><BR>
  <P><FONT size=2>* In the case of Mac OS 9 there's an OTTCPWillDial function 
  that's described in some tech note, and in Mac OS X there's a System 
  Configuration framework which is not yet documented but whose [open] source 
  can be found in Darwin. </FONT></P></BLOCKQUOTE></BODY></HTML>