Find Jobs
Hire Freelancers

Distributed file service with consistancy

$30-250 USD

Completed
Posted over 4 years ago

$30-250 USD

Paid on delivery
Client Upon startup, the client will perform the following actions: Startup: 1. Prompt the user to input a username. 2. Connect to the server over a socket and register the username. a. When the client is connected, the user should be notified of the active connection. b. If the provided username is already in use, the client should disconnect and prompt the user to input another username. 3. Proceed to manage the consistency of the shared file until killed by the user. Updating Files: 1. The client will actively monitor the designated text file. 2. When an update to the file is noted, the client will notify the user of the update. 3. The client will then Push the updated file to the server. The user should be notified when the upload is complete. 4. Return to step 1. Retrieving Updates: 1. The client will listen for an Invalidation Notice from the server. 2. Upon receipt of the notice, the client will Pull the update and apply the update to its copy of the shared .txt file. 3. The client will inform the user that an update has been completed. 4. Return to step 1. Server The server should support three concurrently connected clients and display a list of which clients are connected in real-time. The server will execute the following sequence of steps: 1. Startup and listen for incoming connections. 2. Print that a client has connected, and: a. If the client has an available username, fork a thread to handle that client. Or, b. If the username is taken, reject the connection from that client. 3. When a client pushes an update to the server, the server should: a. Accept the data from the client; b. Print that an update has been received and from which client; c. Issue Invalidation Notices to the remaining clients; and, d. Allow the remaining clients to Pull the update. 4. Begin at step 2 until the process is killed by the user.
Project ID: 21749461

About the project

2 proposals
Remote project
Active 5 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hi, I see that you are looking for a Java expert. I have years of extensive experience working with Java, JavaSE, JavaEE, J2EE, JavaME, and JavaFx software development kits and many other popular programming languages as well. I'm an experienced professional with advanced development skills and knowledge. Please have a look at my portfolio to see the projects that i have completed. I can meet all of your requirements completley and with 100% accuracy. Client satisfaction is my utmost priority and i do not compromise on it. Hire for quality work done and delivered on time. Regards, Badar Nadeem.
$100 USD in 3 days
5.0 (17 reviews)
4.8
4.8
2 freelancers are bidding on average $150 USD for this job
User Avatar
Hi sir, how are you? I read your project description and I am interested in your job. As you can see my profile, I am a full-time developer and have just completed many projects. Specially, I have top skills for C/C++, C#, Java, Python programming and algorithms. (User friendly GUI and CLI). I am ready for Windows , Linux and MacOS. Will be provided HIGH QUALITY , HIGH SPEED , well-known comments and assistance. We can discuss more detailed idea and requirements on chat. Thanks!!
$200 USD in 2 days
4.7 (7 reviews)
5.3
5.3

About the client

Flag of CANADA
Arlington, Canada
5.0
2
Payment method verified
Member since Oct 11, 2019

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.