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

Create cost analysis and develop a proposal for the company

Create a cost analysis, and develop a proposal for the company. Identify the single point of failure, and recommend potential mitigation strategies. Outline the labo

Why virtualization is gaining so much popularity

Discuss why virtualization is gaining so much popularity, and compare it with other types of networks that are currently available - Evaluate security implications of implem

Explain the basic components and media of network systems

Write an five to seven (5-7) page proposal in which you: Recommend one (1) suitable network design. Suggest one (1) network architecture. Suggest LAN and Wireless LAN (WLAN) w

Determine the topology

Network topologies are defined both physically and logically. Suppose you had to implement either a full-mesh topology or start topology network on a university campus that

Multiplexing techniques in terms of mechanics, technology

1.What is a network? What are the six main elements and their functions of a typical network? Explain each one. What devices are used in layers 1-3? What is a message called i

Describing status of 3g and 4g network technologies

Describe in scholarly detail status of 3G and 4G network technologies and even challenge yourself to find out any research on future of 5G technology.

Create a strategy how you would replace ip v four

IP v6 - implementing IP v 6. create a strategy how you would replace IP v4 in an enterprise to IP v 6. DO NOT DISCUSS the benefits of using it, simply how to put it in place

Implement the network using packet tracer

Implement the network using Packet Tracer - Calculate the EIGRP metric from R1 to network where PC2 is located. Explain and show how you derive at the values used in the cal


Write a Review

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