[jdev] GSoC: Jingle hack
Massimiliano Mirra
iolgzc102 at sneakemail.com
Wed Mar 26 18:41:23 CDT 2008
> > Today, I'm wondering whether a simple, specialized process to which
> > the main client forwards Jingle-related XMPP stanzas to, using a local
> > TCP connection, is the easiest/most portable way to do it.
> > Essentially like jinglepipe but over a socket.
>
> Certainly most portable (modulo how the client and the component find
> eachother).
I guess, since the client would be starting the sub-process, it could
invoke it with something like "jinglebot --port 1234". Or the other
way around, the sub-process would search for a free port, bind it and
tell it to the client via stdout (like CORBA-based apps do with the
IOR).
> I have been trying to avoid having an XML parser in my C
> code, since C plus XML doesn't sound very fun.
+1
Every time I think of external XMPP processes/processors, I end up
thinking of embedding Lua or TinyScheme to handle XML. Unfortunately
as far as I know neither has an XMPP library. I'm not sure that would
be needed for Jingle, though (or at least for libjingle, see below).
On another note, that is how a local transport based on something like
bitlbee or libpurple might look like. Bitlbee even works like that
already -- too bad it disguises itself as an IRC server instead of an
XMPP server, or we'd already have a multi-network cross-platform
cross-client local transports. :-)
> On the other hand, extending XEP-0114 (Jabber Component Protocol) to
> cover client plugins might be interesting ☺
Hmm, wouldn't that be a bit overkill (albeit cool)? Usually you have:
on('http://some-jabber-namespace', handler);
Here, "handler" would be transparently delegating the packet over the
socket and the rest of the client wouldn't have a clue.
(I'm sure there are a hundred gotchas here in the general case, I'm
just thinking about libjingle right now.)
Massimiliano
--
Massimiliano Mirra
http://sameplace.cc
http://hyperstruct.net
More information about the JDev
mailing list