Well, a jabber server could listen on a multicast socket and upon request return a service tag ( or something alike ) to the bone.
This service-discovery protocol already exists in the form of Rendezvous/Zeroconf, there's even a jabber service-type defined. It's local-network only, but as someone said that's where it's interesting anyway.
One simple solution to the p2p setup is to embed a small standalone server into the client (if you remove inter-server routing and probably some other stuff the basic server should be fairly trivial (shout me down if I'm wrong on this)). This mini-server/client publicises the service via Zeroconf, and chat is initiated by other clients discovering the mini-server and connecting to it.
The main problem is authentication, as you don't want to have to register for each p2p chat. One possibility is to email-style certificates; if a person accepts, say, cacert.org certs then people can be 'identified' and allowed into the chat room as they connect, possibly on a case-by-case basis. Has anyone done a server that uses certs as identification? (I believe this can be done with the SASL EXTERNAL auth method, but I haven't looked that deeply into it).
Cheers, Steve _______________________________________________ jdev mailing list [email protected] http://mail.jabber.org/mailman/listinfo/jdev
