The use of stacks in computer science; explain why stacks are important and how a stack can be implemented either in Java or Python.
Explain two ways in which threads can be created in Java.
The use of queues in computer science and how they might be implemented in Java or Python.
Give details of two or more Input/Output devices and evaluate their usefulness, giving technical data of interest.
What is meant by a recursive function definition? Give an example and explain how the definition works.
The result of each piece of research should be carefully written up, giving diagrams where appropriate and citing references used. You should aim at giving depth in answering these questions.Task 2You are todesign and implement a simple TCP client-server system that makes use of a simple proxy server.
Background
The appearance of Generic Server in the diagram simply means that a server of your choice is to be chosen. It might be a mail server, the BBC web site, or a custom server. You might wish to use the Generic Client program used in class for the client, or a mail client. For test purposes you could use the TCP Echo Client shown to you in class. One of the key ideas behind this coursework is for you to demonstrate of the programs running concurrently i.e. two servers and one client and to describe exactly what happens when the client sends data to the Generic Server. From the client’s point of view it is communicating directly with the Generic server. In reality all communications will pass through the Proxy server (in both directions, and concurrently i.e. A message from the generic server may have been sent at the same time as the client is sending the generic server a message)The proxy server simply provides an Internet interface to the generic server by offering two-way TCP communications (using streams) with the Generic Server. You will know by now that the creation of a TCP socket also creates two streams: an input stream and output stream. You do not need to program a proxy server from scratch, but you are being asked to describe how the proxy can provide the service described above, and illustrate this functionality by citing Java code (e.g. socket creation, obtaining the streams and using them).The operation of the proxy server is straightforward: it relays requests from the client to the (remote) server. It could, for example, ‘snoop’ on communications relayed or record data it has seen or strip out advertisements from Web pages; it could even be used to cache large objects and web pages or translate each page received into Japanese. Neither client or server would need to be aware of existence of the proxy other than the client’s benefitting from reduced delays in accessing objects that have already been accessed). Another role the proxy could play is to provide a first line of defence for the (remote) server, by acting as a logical firewall in discarding TCP segments originating from suspicious client hosts.
Get It Done! Today
Every Assignment. Every Solution. Instantly.
Deadline Ahead? Grab Your Sample Now.