Win a copy of The Journey To Enterprise Agility this week in the Agile and Other Processes forum! And see the welcome thread for 20% off.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Junilu Lacar
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Ganesh Patekar
  • Tim Moores
  • Pete Letkeman
  • Stephan van Hulst
Bartenders:
  • Carey Brown
  • Tim Holloway
  • Joe Ess

Transferring files over the network: is this possible?  RSS feed

 
Ranch Hand
Posts: 81
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,
I've been asked to write a program with the following specs:
-The server uploads a file to a specified client.
-Save in a database how long it took for the file to get there.
-Get the file back from the client
-Save in the database how long it took for the file to go from client to server
-Repeat the operation every 30 minutes for the next few months.
I've never used sockets before, and I'm not sure if the above is possible. Is it?
If so, which steps should I take in order to write that program?
Thanks,
Marie
 
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, it's possible. There is a good Sockets tutorial in one of the threads around here. Somebody will give us a link Real Soon Now.
As for basics, you'll need a client program and a server program. The server program will start first and open a ServerSocket on a port. The client will open a regular Socket connecting to the server machine's address and the same port. When a client connects, the ServerSocket on the server gives out a new Socket for communication with the client. If you have multiple clients - usually something you have to allow for - look into the server program starting a new thread each time a client connection happens.
Once you're connected, both ends get the input and output streams from their respective sockets. To send a file, the client writes file bytes and the server reads them and writes them to disk. To receive a file, the the server reads file bytes from disk and writes them back to the client. Think about a few bytes sent from client to server to identify the scenario, like "I'm about to send file xxx" or "please send me file zzz".
I hope that gives you enough to start fiddling with. As you get bits of this running (or not) please post code snippets & questions!
 
Marie Mazerolle
Ranch Hand
Posts: 81
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for your reply, Stan!
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!