[JDEV] Q: oob and direct P2P communications

Jens Alfke jens at mac.com
Wed Mar 28 19:43:13 CST 2001


On Wednesday, March 28, 2001, at 05:14 PM, Colin Madere wrote:

> The whole firewall/NAT thing is a pain too, but normal HTTP requests 
> get through all these so maybe making this tranfer look like one of 
> those would do the trick

Not quite. HTTP requests can get out of firewalls, but not into them. 
Same goes for NAT. So no one inside a firewall or NAT network can send a 
file to someone outside, unless some kind of special proxying is done 
somewhere.

Considering that this includes virtually everyone at a business or 
school, and a growing number of home users (those with personal 
firewalls on their DSL/cable modem connections, and/or using internet 
sharing software, and/or using 802.11 aka AirPort), this is a big 
problem IMHO.

> Another possible solution is to have a "temporary storage" app on a 
> server which would accept files with a randomly generated name which 
> you pass to the receiver client so that they can make that request of 
> the server.  Would work, but means more server load and more to manage.

Yup, this is feasible, and I've been told that this is exactly how file 
transfers work using the Yahoo protocol (with yahoo.com acting as the 
temporary server.)

Just to play devil's advocate: Why is it so crucial for file transfers 
to be out of band, anyway? Jabber's architecture is similar to SMTP, and 
people send each other large e-mail enclosures all the time. Why can't I 
just send someone a file as a big CDATA element inside a <message>? 
Actually, given limitations on XML element lengths and for other 
reasons, it would probably be necessary to packetize the file into 
smaller chunks (32kbytes?) which can each be sent in a separate message 
with a sequence number.

--Jens
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1995 bytes
Desc: not available
URL: <https://www.jabber.org/jdev/attachments/20010328/b3005b0c/attachment-0002.bin>


More information about the JDev mailing list