Thank you for the response.  I'll repost the question to XMPP.org, but I
think you've handled most of what I curious about.

My situation:
On the server side I have done nothing.  It was a stock install of both
ejabberd and Openfire.  On the client side it was as simple as pulling the
power on the client or switching off the wifi radio (there's a switch for
the radio on the two laptops I used).  In all cases the user stayed
"Available".  I can understand that this is difficult to fix, but one area I
think could be improved upon is this:  After client1 was disconnected
(powered down) I messaged them through client2 (because the server still
told my client2 that client1 was "Available".  At this point it would seem
to me that the server must attempt to send something to client1.  Doesn't
the server see an error upon this send?  If so, can't it automatically
adjust and say that client1 is now unavailable?

On Mon, Mar 14, 2011 at 2:46 PM, Bernd Fondermann <
[email protected]> wrote:

> On Mon, Mar 14, 2011 at 20:19, Charlie Youakim
> <[email protected]> wrote:
> > Hello Users,
> >
> > I hope I'm doing this correctly.  I'm a new user and I've never done an
> > email to a listserve like this.
> >
> > I’m emailing the group because I actually have an observation and a
> question
> > about XMPP and Vysper.  I’m new to XMPP. Very new. I’ve been looking and
> > testing with it for the last couple of days. My problem is that I don’t
> feel
> > like the “Presence” portion of the protocol works all that great, at
> least
> > on my initial tests with Openfire and ejabberd2. If I work as normal,
> sure,
> > it works perfectly. But, I was a bit harder on it. First I killed my
> > internet connection by disabling wifi through my OS(I tested it in Linux
> and
> > Windows). XMPP still worked on every test in this manner. That’s GREAT!
> >
> > The problem was with my next test. I decided to kill my wifi radio by
> > disabling it through hardware. Here’s where I couldn’t get XMPP’s
> Presence
> > to work. The user on this machine always stayed online, despite the wifi
> > radio being killed through hardware.  Every time this was tested on my
> > Android phone (pulling the battery), or on my laptop (killing the radio),
> > the XMPP server would fail to recognize the disconnection and the user
> would
> > stay online.
> >
> > This is something I’ve noticed in G-Chat as well. On a user’s computer
> > crash, or power loss, some users can just hang there online.
> >
> > My question to users:  Can XMPP handle this case for Presence detection?
> It
> > seems to me that it can’t, which worries me.  Can Vysper handle this?
> >
> > Thanks for any input.  I'm interested to hear opinions from experts in
> the
> > area of XMPP.
> >
> > (As a side note I turned on the ping service and was able to detect the
> > disconnect, but it seems strange to me that I should require an addon to
> > handle presence detection, when the protocol has the idea of Presence in
> its
> > title.)
>
> Great post.
>
> For general questions about the XMPProtocol I'd like to point you to
> xmpp.org, the authorative body for "all things XMPP". And we cannot
> speak for Openfire or ejabberd either.
>
> In general, detecting disconnecting clients can be tricky. This is not
> a matter of XMPP (a protocol specified on the application layer of the
> OSI model), but primarily a matter of the underlying transport
> protocol, TCP/IP in this case. The nature of TCP/IP, with it's
> timeouts, in-between routers, firewall settings etc. can make it
> difficult to detect abruptly terminated connections without actually
> sending data over the wire.
>
> So overall XMPP is fine, while in practice it can prove difficult to
> detect the situations you are testing.
>
> However, I'd expect we could do better and improve Vysper in the kind
> of situations you are describing. Please provide exactly what you do
> on client and server side and what the results are.
>
> Thanks,
>
>  Bernd
>

Reply via email to