[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