I usually try to help without actually writing programs for people, but for some reason I felt like writing my own approach to this one. I took a shell-based approach on the client side, have programs fget, fput, and flist that download, upload, or list the files on a server, plus setshare that sets the id of the computer running the main fileshare program. Specifically doesn't support subdirectories, instead putting or getting files only from a /shared directory. Doesn't do any authorizing either, just trusts requests from any computer.
to setup the server program:
pastebin get kyeT1W7t fileshare
then just run fileshare to start the server. Expects a modem on top, if you've got it elsewhere change line 2 to replace "top" with whatever side it's on.
For the client, I made a crude downloader script so you don't have to pastebin get 4 different programs:
pastebin get VKLPjcPE setup
setup
delete setup
when you run setup, you should see the messages as it runs pastebin 4 times to download fput, fget, flist, and setshare.
To use it…
Spoiler
1) find out the id of the server - you can do this by running "id" on the server at the command prompt.
2) run fileshare on the server. It will run until stopped with ctrl-t, or until the computer is rebooted. All handled requests are logged to the screen and to a fileshare.log file.
3) on the client, run "setshare <id>", where <id> is the id of the server from step 1. this id will be saved to a hidden file called ".shareServer" so unless you're using multiple fileshare servers and need to switch between them, you only have to do this once.
4) Open the modem on the client! The programs assume it is open; if it's not, all commands except setshare will give a request timed out error.
5) just use the commands.
"flist" will list the files in the /shared directory on the server
"fput myfile" will send the file named "myfile" to the server. Note, any local path will be stripped, i.e., sending "/rom/programs/shell" will create a file "/shared/shell" on the server! Also, it will give an error if you attempt to overwrite an existing file.
"fget myfile" downloads the named file from the server. Path is stripped here as well; typing "fget bin/myfile" will download "/shared/myfile" but will store that locally as "bin/myfile."That's… pretty much it. Not very sophisticated, not very secure, but pretty simple to use, and a good starting point you could improve on.
source code links if you want to just read the code…
fileshare - server programclient programs:
setshare fputflistfget</id></id>