Question: Using Python code...Design an application layer protocol for three network entities: controller (C), renderer (R) and server (S) to communicate. The protocol should be text-based
Using Python code...Design an application layer protocol for three network entities: controller (C), renderer (R) and server (S) to communicate. The protocol should be text-based and well documented. The purpose of the protocol is to allow C to request a list of media files (for example a text or video file) from S, then C can request R to render the chosen file. R, upon receiving a request from C, sends a request to S so that S can stream the chosen media file to R for rendering. R has a limitation, it does not have the capability to buffer so it just renders what it receives from S. During the streaming session, C can request R to pause/resume/start-from-the-beginning the streaming.
Use mininet to implement a network application that allows a user to use C to request a list of media files stored on S, and select one that the user is interested in. C then asks R to request a streaming session with S, and S starts streaming the selected file to R for rendering (note the limitation of R mentioned above). During a rendering session, the user can use C to control the rendering, e.g. pause/resume/start-from-the beginning.
C, R and S must run on different hosts simulated using mininet and use the protocol designed by the team for communications.
For media file types, at the minimum text files must be supported.
Python code for the 3 entities (C, S, R) that communicate with each other over the LAN network and perform their respective roles and jobs listed above. Should act similar to Chromecast.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
