In Progress


Client/Server Programming

You are required to write Java programs using BSD sockets to implement a simple online telephone directory system. Two applications (client and server) using TCP connection are required. The client application (named client-phonedb) allows users to query and update the telephone database depending on user type (i.e. general user, administer). The system administer is identified by providing the correct access code (any combinations of alphanumeric characters) in the command line for client. The actions (determined by command line option) to be performed by client are listed below:

---query telephone number:

client-phonedb -h host -p port -q name

---delete a record (for system administer only):

client-phonedb -h host -p port -d name -s accessCode

---add a record (for system administer only):

client-phonedb -h host -p port -a "name & phoneNo" -s accessCode

---list all records and save in client side as a file (for system administer only):

client-phonedb -h host -p port -l [url removed, login to view] -s accessCode

Once the server application (named server-yp) starts, it listens for a request, processes the request, sends the response and waits for the next request. It should not exit for any abnormal client operations. After processing a client request, the server should also inform the client whether the request was processed successfully or not. When the server application initiates (at a port number specified in command line option -p), the telephone database is loaded into internal memory from an external ASCII text file (specified in command line option -f):

server-phonedb -p port -f [url removed, login to view] -o [url removed, login to view]

Update of the database by client operations are performed only in physical memory of the server machine (i.e. no need to save records in file). You may use any data structure (e.g. array or list) to implement the database. Every update operations (i.e. delete, add) have to be recorded in the log file (specified in command line option -o). For server management you should also record any abnormal client request. In the log file you should record

date & time for client request

action required

details of the record being updated

client IP address and port number

client hostname

the status

You have to design the record format of the input telephone directory text file, but the format must be the SAME as that obtained by client action (4)--list all records. Each record should contain the following fields:

company/person name

phone number

There are some situations that you have to take into considerations when writing the client/server applications. When a client has sent a request, it waits for a response. Should the client waits forever? In other words, is it necessary to handle message lost/duplication? If yes, how?


1>The client/server accepts optional command line parameters properly.

2>The client/server choose sensible defaults for optional command line arguments.

3> Client requests to query a phone number

4> Client requests to update a record

5> Client requests to add a record

6> Client requests to list all records and save in file

7> Server operations on telephone database required for each client request

8> Server saves transaction details in log file

9> Strategy to handle message lost/duplication

10> Error handling in client/server

What to Hand In

The deliverables are:

Client source code

Server source code

report explaining sample runs, error handling and handling of message lost/duplication

As usually, we expect well commented code with descriptive identifier names and neat presentation.

Skills: Java, JSP

See more: java socket retry, java socket ftp, socket programing java, java sockets projects, file delete client server programming java, use list command socket programming java, save client socket details java, save socket details java, java socket client text file, java socket save file, java socket text, java socket client retry, java sockets project, java socket programing, add records file socket java, yp, writing to a file java, writing to a file in java, write presentation report online, write java code online, words that we need to write a report, what is record in data structure, what is programing, what is descriptive writing, what is data structure in programming

About the Employer:
( 0 reviews ) Singapore, Singapore

Project ID: #213122

16 freelancers are bidding on average $68 for this job


Wide experience of programming on Java and development of client-server applications.

$100 USD in 10 days
(12 Reviews)

hi, sir. I am very interested in your project. Please see PMB for more detail. Thanks, Best Regards.

$80 USD in 4 days
(55 Reviews)

hi i'll deliver the solution within 2 days at max. let me know if you are interested.

$100 USD in 2 days
(31 Reviews)

I can implement the functionality you describe with no problem in a Java Application. If you are interested in my services please don't hesitate to contact me. Please see my PM for more information.

$50 USD in 2 days
(3 Reviews)

Hi, sir. I'm a professional programmer. I'm expert in Java Programming. I'm very interested in this project. Please let me help you. Thanks

$50 USD in 2 days
(4 Reviews)

Hi, As i am new to freelance i need this project coz i'm working in similar kind of project.I have 2+ years of exp in development in NMS

$50 USD in 7 days
(0 Reviews)

Rising Technology is a growing IT developing company, which aspires to become one of the leading providers of IT Solutions, globally. Since, we’re a budding company as our vision, instinct and composition reflects it More

$80 USD in 10 days
(0 Reviews)

sir i can do it in 2 days give me a chance

$40 USD in 2 days
(0 Reviews)

hi, sir. I am very interested in your project. Please see PMB for more detail. Thanks, Best Regards. I will PM you some details

$80 USD in 4 days
(0 Reviews)

Sir, I am interested in your project.

$100 USD in 30 days
(0 Reviews)

Hello, we are deeply experienced in java programming, please check PMB for details.

$100 USD in 2 days
(0 Reviews)

i can complete this project with in 2 days. i ll deliver the project without any bugs

$40 USD in 5 days
(0 Reviews)

Ready to start...

$100 USD in 7 days
(0 Reviews)

Hi, We are an ISO certifed software company based in Delhi India and are a teaming partner of CDAC (Centre for Development of Advanced Computing, Ministry of Communication and Information Technology, Govt. of India More

$75 USD in 4 days
(0 Reviews)

I am interested in doing your project. If you accept my bid please let me know. Let me give you a brief of my work Plan. For server input database I will use Red Black Tree Data Structure. This will give a O(lgn) ins More

$50 USD in 2 days
(0 Reviews)

Pls see the PMB...

$50 USD in 1 day
(1 Review)

I have been working in Java since 2002. am a Sun Certified Java Programmer, with expert level experience in socket programming. I have developed -- Custom Ftp client/server -- Custom Mail client/server -- Chat cli More

$48 USD in 4 days
(0 Reviews)