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)
  • [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)
  • Re: What doesnt lend itself to OO?
    ... > rather than client code. ... no way to do that without also touching the object with clock semantics ... will not encapsulate both clock semantics and network semantics. ... The server can do whatever it wants ...
    (comp.object)