Networking tidbits, Operating System

There is a very small amount of networking background required for Project 2. In Project 2, we want our computer (or our "host") to request information over the Internet from a remote webserver (another Internet "host"). On our computer, from within our Project 2 ap-plication, we will open a "socket", which on many operating systems acts like a ?le which you can read or write. Moving down the network stack into the operating system, a socket uses a transport protocol to communicate with the remote host. The application-layer HTTP protocol which webservers use is built on top of the transport-layer TCP protocol, which provides reliable, in-order, stream-based delivery between your socket and the remote socket. A socket also has a "port" number associated with it. When we open our socket, we will request that it opens port 80 on the remote host, since this is the port number on which almost all webservers listen for re-quests.  Finally, when opening the socket, we need to specify which remote webserver we want to communicate with, such as www.cnn.com, etc. Moving down one more layer, every host (laptop, server, cell phone, etc) which is directly accessible on the Internet has a unique network-layer IP address, such as 128.119.240.19, and most of those have hostnames, such as www.cs.umass.edu; the Domain Name Service (DNS) translates from hostnames to IP addresses.

Note that the sock.read() method is in a while-loop, since reading from a socket will return between one byte and the maximum number of bytes requested ((MAX READ-1-size) in the code above). You'll need to keep repeatedly reading from the socket again until you get all the bytes you want. sock.read() will block until it has at least one byte to return, unless its request times out (set by sock.setTimeout(5) to be 5 seconds), or unless the connection is closed.

Posted Date: 3/12/2013 5:20:42 AM | Location : United States







Related Discussions:- Networking tidbits, Assignment Help, Ask Question on Networking tidbits, Get Answer, Expert's Help, Networking tidbits Discussions

Write discussion on Networking tidbits
Your posts are moderated
Related Questions
Briefly discuss on Bankers algorithm? The resource-allocation graph algorithm is not applicable to a resource-allocation system with multiple examples  for each resource type.

Crumbles Bakery needs to decide how many and what types of cupcakes to make today. Currently, they make two types of cupcakes: chocolate cupcakes and carrot cake cupcakes. Chocolat

Determine an imperative statement Imperative statement points out an action to be carried out during execution of assembled program

How can the deadlock be prevented? To evade deadlocks first we will have to obtain the information about how resources are to be requested. And as well we should make sure that

Explain the Real Time Operating System A real-time operating system comprises definite, fixed time constraints. Processing should be done in the defined constraints, or the sys

I need help implementing malloc

Problem: (a) (i) Explain what a single system image is and how it is related to the concept of a distributed operating system? (ii) What are the main differences between a

Using pages makes it easier to manage the whole memory, avoiding excessive fragmentation and waste. As an analogy, think of Tetris, but with only square blocks: it is relatively ea

Q. Consider the subsequent page reference string: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6. How many page faults would take place for the following replace

Differentiate pre-emptive and non-preemptive scheduling In a pre-emptive scheduling technique, CPU can be taken away from a process if there is a requirement while in a non-pre