[jdev] discovery services
Julian Missig
julian at jabber.org
Wed Mar 23 08:27:53 CST 2005
On 23 Mar 2005, at 0:31, Justin Karneges wrote:
> On Tuesday 22 March 2005 05:31 pm, Julian Missig wrote:
>> On 22 Mar 2005, at 20:00, Justin Karneges wrote:
>>> Ignoring how iChat may or may not do it, I figure the most
>>> straightforward
>>> answer would be to have the clients perform the xmpp-core s2s
>>> protocol with
>>> each other. JIDs become user at workstation.
>>
>> Honestly, I prefer iChat's approach. Clients already have client
>> libraries that speak the c2s protocol. You strip out some of the
>> login/auth stuff and just use c2s to one another. That requires a lot
>> less new implementation and allows for a lot more code re-use... at
>> least the way Jabberoo was designed and how I imagine most libraries
>> are designed.
>>
>> Since it's local I don't really see a need for Dialback and its
>> multiple socket connections and all sorts of other server pains that
>> client developers haven't had to be exposed to yet.
>
> You make a good point, dialback is probably not needed. Perhaps
> the login
> handshake can be done using SASL. However, everything else in an
> ad-hoc
> setup is unavoidably more like s2s than c2s. Here is what
> implementations
> need in addition to regular c2s:
>
> 1) ability to handle incoming TCP connections
That's a feature of the actual implementation, not the protocol used
once the TCP connection is established. This is easy to add to
existing client libraries.
> 2) ability to perform the XMPP stream handshake process in reverse
Simple enough to add in place of the regular auth support.
> 3) stanzas need to indicate both the 'to' and the 'from' (since
> either
> workstation might have multiple users. yes, I think we should be
> forward
> thinking here).
Ok, this is pretty silly and makes the problem thousands of times
harder. DNS-SD lends itself to be used as presence broadcasting, but
then you /can't/ use it as presence broadcasting if there are
multiple users connected without making /those/ packets insanely
complicated too. I don't think that's a problem we should be focusing
on at all, because I don't see how it's going to make anything
simpler /or/ better.
I think that for now we should focus on things which DNS-SD has
proven useful for. Multiple users advertising the same service on one
computer is not one of them, and until the DNS-SD people have a good
solution for that (if they care about it at all), I don't think we
should.
I really think it shouldn't be that hard to take a random client
library, hook it up to a DNS-SD and Multicast DNS library, change a
couple of things, and have a working client. The hardest part should
be gutting the presence implementation for use with DNS-SD.
Julian
More information about the JDev
mailing list