[JDEV] OOB filetransfer negotiation
Jens Alfke
jens at mac.com
Sat Aug 11 11:57:46 CDT 2001
On Saturday, August 11, 2001, at 01:06 AM, Sebastiaan 'CBAS' Deckers
wrote:
> I'm trying to figure out how exactly file-transfers get negotiated.
> WinJab seems to use an <iq> with namespace "jabber:iq:oob" containing
> the
> URL of the file.
Oh boy, that's a new one to me! I keep finding more and more of these
secret protocol extensions. The "standard" way to transfer files, which
I've implemented, is to send a <message> containing a jabber:x:oob
extension element -- this is documented in the JPO and JPG.
I just took at look at the jabber:iq:oob "spec". I don't really see why
someone decided to re-invent this in a different form. Surely the
accept/refuse feedback could have been implemented just as well using
reply <message>s?
One drawback to using an <iq> to send files is that you can't send it
through a conference/chatroom, which I've implemented in my client.
(BTW, sending to a chatroom is a case that breaks the 'relay server'
thing that has recently been implemented to bypass firewalls, because
it's not one-to-one.)
I've actually implemented a significant number of extensions to the
defined jabber:x:oob in my client, mostly to help the receiver display
meaningful information about the file transfer before it begins. I've
added attributes to the <url> element that identify various metadata
about the transfer (is it a file vs. a directory? What is its size? What
POSIX or HFS metadata does it have?) Of course this isn't known to be
accurate, but it lets the receiver display various info to the user
(including an icon) and it can be re-verified after the actual file is
downloaded.
--Jens
More information about the JDev
mailing list