Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] [p2p] p2p file sharing

From: gchiu:compkarori at: 19-Jun-2004 10:38

I would like to see if anyone is interested in collaborating on developing a simple p2p file sharing system. I have grafted a few functions onto Andreas' xmlrpc code to implement the concept. Here's an example .. the server code is running on a PC behind NAT First, get the xmlrpc code which I've built here do load-thru http://www.compkarori.com/reb/xmlrpc.r or get it from the official distro here http://earl.strain.at/space/rebXR Now, get the directory of files I am sharing... xmlrpc-exec http://www.compkarori.co.nz:8001 [ getDirectory ] == ["doc-bar.gif" "encap.png" "made-sdk.png" "made-sdk100.gif" "pwr-reb-tech.png" "pwr-reb-tech100.gif" "pwr-rebol.png" "pwr-rebol1... Lets get the details of a single file xmlrpc-exec http://www.compkarori.co.nz:8001 [ getFileData "doc-bar.gif" ] == [4233 18-Jun-2004/23:14:42 "EAD073F6F368EAEBFAEB398353073223"] which says the file is 4233 bytes long, has the above date stamp, and md5 checksum Now to download a file: data: xmlrpc-exec http://www.compkarori.co.nz:8001 [ getFileBits "doc-bar.gif" 1 4233 ] This one is small enough to get at one go. We specify that it will start at byte 1, and we are requesting 4233 total bytes. For multimegabyte files, you would fetch them in, say 4k blocks. We can now use the md5 to check that the file has been transferred correctly. Or, we can just look at it i: load data view layout [ image i ] Server code is here: http://www.compkarori.com/reb/rp2p.r It's just a concept demonstration at present. For multimegabyte files, we are thinking of splitting them up on the server to make it easier to send but this is to be transparent to the client. Discussion is hosted at "Rebol World" AltIOS channel ( using an AltME client ) Use guest/guest if you don't already have an account... -- Graham Chiu http://www.compkarori.com/cerebrus http://www.compkarori.com/rebolml