Create a client and a server that communicate message queues

Assignment Help Computer Networking
Reference no: EM131108678

Lab 2 will require you to create a client and a server that communicate over either message queues, sockets, or a well known fifo. The data passed will be a simple request/response in string format.

Each of the 3 methods will need to answer the problem of rendezvous in their own way.

Suggested algorithms:

Message Queues -

Server will listen specifically to a single key and respond to clients based on a key that was passed in the message to the server.

Well Known FIFOs -

Since Well Known FIFOs are "file" based and will require a name (hence the "well known" part), you should create a common header that defines the server read/ client write FIFO as a const string for both. The server will respond to the client based on data passed through the Well Known FIFO to the server.

Sockets -Every socket requires a tuple on both sides. Tuple being the IP address / Port

/ Protocol. Since sockets require "root" access for ports less than 1024, choose a port greater than 1024 for the server. Just like the well known fifo, you should create a common header file with a const integer for the server port number. Unlike the other IPC methods, the client and server in a socket dynamically exchange the path back to the client, so there is no need to "pass" that data to the server.Once you have chosen your method of communication, then define a simple dataset that can be used in a request / response loop. Examples could be that you have an array of phone numbers, and when the phone number is sent to the server it will respond with the person's name associated with that phone number. Any simple dataset with at least a name=value pair will work as long as you can look up the value based on the name. Simple structures with a simple searching algorithm up tousing hash maps or search tree libraries are all ok. This assignment is more about the IPC and the semaphore than the dataset. So even something as simple as the process environment is fine (doesn’t get any easier than that…)

Your server will listen to incoming requests and then respond according to the client connection algorithm. You will also be required to add 3 server threads that will all block and wait to receive the client request based on a semaphore. Although the 3 methods of IPC all are based on queues, we will be adding a semaphore to only allow 1 thread to pull/pop a request from the queue, and once the request is taken by one of the 3 server threads, then it will release the semaphore allowing the other threads to take the next request from the queue.

Here is an example of how the semaphore will work…

You see 3 server threads T1, T2, and T3. Only one can be receiving from the Server FIFO Queue at a time, so the semaphore will lock out the other 2. When the T2 thread takes the request off the Server queue, it will immediately unlock the semaphore so the other threads can block for the next request on the queue. Right after the T2 thread unlocks the semaphore it will then process the request and send the response back to the client via the Client FIFO queue and then go back to request the semaphore and block until it gets the unlock from the semaphore and then blocks for the next request from the Server FIFO QUEUE.

Reference no: EM131108678

Questions Cloud

High unemployment and excess industrial capactiy : By using clearly labeled AS and AS curves to illustrate your points, discuss the impacts of the following events on the equilibrium price level and equilibrium level of output in the short run. An expansionary fiscal policy with the economy operating..
Which school of philosophy survived unscathed : During the Qin dynasty, books were burned. These books particularly included philosophical treatises and other related literature. Which school of philosophy survived unscathed
Who was this 4th century qin prime minister : Of all the men who built up the state of Qin during the period one man's fame was rivaled only by that of the First Emperor himself. Who was this 4th Century Qin prime minister
Growth of the labor force helping to prevent inflation : How is the growth of the labor force helping to prevent inflation? support the answer with a graph. What would happen if aggregate demand continued to expand but the growth of the labor force slowed? how would this situation be depicted graphically?
Create a client and a server that communicate message queues : Lab 2 will require you to create a client and a server that communicate over either message queues, sockets, or a well known fifo. The data passed will be a simple request/response in string format.
Prepare the journal entry to record income tax expense : Assuming there were no temporary differences prior to 2010, indicate how deferred taxes will be reported on the 2012 balance sheet. Gordon's product warranty is for 12 months.
Find the scattering parameters for the four-port bagley : Find the scattering parameters for the four-port Bagley polygon power divider shown below.
Promising for keeping up with the advances : What handheld forensic software is the most promising for keeping up with the advances in technology?
Practice of project risk and procurement management : This is an individual assignment worth 50% of the module mark. Word length 3000 words (do notexceed word limit). Do not include the abstract, table of contents, or References in the word count.

Reviews

Write a Review

Computer Networking Questions & Answers

  Define congestion

Define congestion. What are common causes of congestion (runts, giants, dropped packets, late collisions, input/output errors, etc.)

  Question 1ai differentiate between denial of service attack

question 1ai differentiate between denial of service attack dos and distributed denial of service ddos attack.ii give

  Find some way to understand the principles

Can we find some way to understand the principles by which our network is classifying handwritten digits? And, given such principles, can we do better?

  Design and implement an object- oriented system

Create a database in SQL server or in Access or in any other RDBMS: Create a small database and create a table having two fields: Currency Name and Exchange Rate.

  Discuss best practices for the system/application domain

Discuss best practices for the system/application domain, APA format with references

  The university has recently leased a building in adelphi

the university has recently leased a building in adelphi maryland.nbsp the building will house some offices classrooms

  Describe the differences between the dynamic network

1explain the differences between the dynamic network address translation nat and a static nat.2demonstrate the major

  What version of http is the browser running

Consider the following string of ASCII characters that were captured by Wireshark when the browser sent an HTTP GET message (i. e., this is the actual content of an HTTP GET message). What version of HTTP is the browser running? What is the IP addr..

  You are the lead forensics investigator for xyz inc -- an

you are the lead forensics investigator for xyz inc. -- an industry leading cyber forensic company. you have just been

  Illustrate the difference between the customer relationship

what is the difference between customer relationship management supplier relationship management and employee

  Describe how protocols make sure services running on device

Describe how protocols make sure services running on one type of device can send to and get data from many different network devices.

  How many crossbar switches does a full sun fire have

How many crossbar switches does a full Sun Fire E25K have? Suppose that the wire between switch 2A and switch 3B in the omega network of Fig. 8-31 breaks. Who is cut off from whom?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd