Oh, I'm just pointing out the difficulty in using a server for true zeroconf. I know how it works with iChat.
On Apr 11, 2005 1:59 AM, Gareth Simpson <[EMAIL PROTECTED]> wrote: > > -----Original Message----- > > From: David Waite [mailto:[EMAIL PROTECTED] > > Sent: 10 April 2005 20:39 > > To: Jabber software development list > > Subject: Re: [jdev] Re: Serverless (peer2peer) jabber sessions > > > Yes, zero config in my book would require also: > > 1. A server, if needed, is bundled with a chat client > > 2. Chat clients can automatically negotiate setting up a > > server/servers (including race conditions with many clients starting > > at the same time) > > 3 .... > > [Snip] > > I can't believe how much you guys are complicating this issue, when Apple > have it all figured out. > > iChat's rendezvous mode works like this. > > Presence data is all stored in Rendezvous records. > > Every client publishes their avail/dnd/away status and their name in > Rendezvous. > > Clients scan the network for these records and build up their roster from > that, a task which Rendezvous makes trivial. > > Chatting is done peer to peer. > > My client sits there listening on a port (the number of which is in my > rendezvous record). If someone wants to talk to me, they just connect to > that port and send the <stream> header just like they would to a jabber > server. My client accepts the connection and sends the header back. > > Messages are then sent back and forth. They are just standard <message> > packets. They omit the "from" attribute, since you have a socket per person > and know where the message came from. > > The conversation ends when one or other side closes the connection. > > And that's it. > > So yes, every client has to be a server, but because the roster stuff is > handled elsewhere, it's completely trivial - just messages back and forth. > Once the actual connection is established, neither side even cares which > side is the server and which is the client. > > There's other stuff like group chat and video and file transfer, but at it's > most basic it's just > > Rendezvous for roster/presence > Peer to Peer XMPP for messages > > I've hacked Miranda's jabber library to support this stuff and it's taken a > few hours at most. > > _______________________________________________ > jdev mailing list > [email protected] > http://mail.jabber.org/mailman/listinfo/jdev > _______________________________________________ jdev mailing list [email protected] http://mail.jabber.org/mailman/listinfo/jdev
