Reliable file transfers

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Slike

    #1

    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..."
Working...