in reply to testing connection speeds

You might consider using a simple FTP server on the server end. Then create a timestamp, download your reference file, and timestamp again--the download time is (reference file size)/(timestamp2-timestamp1). The repeat the procedure, but upload the reference file this time. When done, delete the reference file.

You'll probably want an FTP server anyway, and you can generate this client program simply with Net::FTP.

--roboticus