Reliable file transfers



Hello,

First of all a very happy 2007 :)


I'm a student with some programming experience, but not too much.

Last year, I wrote a client/server checkers application, that allows
multiple players to invite eachother and play a checkers game. This program
exchanges some objects (or object properties) over a network, and is of
course fully threaded.
This project was completed with some guidance at school (lessons, lab
sessions,...)

This time I'm all on my own, and I do have some questions...
I have to write a client/server based application, which allows a client to
select some specific files and/or folders to be backed up at the server
side. The server should be able to handle multiple clients at a time. To be
clear: server and client applications are written by me in Java.

So far, I've been taking some parts out of my previous project (the raw
client/server model), so I'm able to establish a connection between a
client, multiple clients in fact, and the server.

My biggest concern at the moment is how I could guarantee reliable file
transfers between a client and the server. As I've explained before, so far
I've only sent serialized objects (object types that both sides know)
between a server and a client.
This time I should be able to send files, of variable length/type/..., from
a client machine to the server. Integrity of data is very important of
course.

Considerations/thoughts so far:
- What are the easiest ways to send a file from a to b?
- What API classes can/should I use that provide integrity/reliability
(TCP)?
- Implement a protocol such as FTP? How?


The program is not intended to be used in any real situation, it's just a
student's project. So the basics should work (>> backup files from client
to server), and it doesn't have to be way too complex (limited development
time) .


Can anyone please explain to me how I should do this?

All tips and tricks, demo codes, urls,... are welcome!

Thanks a lot in advance!

--
Slike
"Bits don't byte..."
.



Relevant Pages

  • Re: What doesnt lend itself to OO?
    ... >> proxy and instructs the server to constuct the real object. ... rather than client code. ... If 'clock' is instantiated in the server, ... > for the server interface at the OOA level. ...
    (comp.object)
  • Re: More Get-IPlayer Questions
    ... to use with mutt mail client. ... antinat - 0.90-4 - Antinat is a flexible SOCKS server and client ... protocol for Sybase or MS SQL Server. ... ifstat - 1.1-1 - InterFace STATistics Monitoring ...
    (uk.comp.os.linux)
  • This is going straight to the pool room
    ... or not the client has privilege to do what they're trying to do, ... The server environment is this: ... 3GL User action Routines that Tier3 will execute on your behalf during the ... Routine Name: USER_INIT ...
    (comp.os.vms)
  • UPnP inspector and mediatomb on different Subnets.
    ... Mediatomb installed on this box up and running I can point my Desktop PC ... server is in 10.184.0.37 net work. ... that I am not very familiar with is to install OpenVPN ... I have done that and started OpenVPN in server box and client in Desktop PC ...
    (freebsd-questions)
  • [Full-Disclosure] R: Full-Disclosure Digest, Vol 3, Issue 42
    ... Full-Disclosure Digest, Vol 3, Issue 42 ... SD Server 4.0.70 Directory Traversal Bug ... Arkeia Network Backup Client Remote Access ...
    (Full-Disclosure)