Introduce - Networks
A Network is a series of computers and other electronic devices (Such as printers and scanners) that can communicate with one another, often passing information from one device to the next (Say, a computer passing an image to a printer) or working on different pieces of the same problem and exchanging the results (Parallel Processing).
A heterogeneous network; Macs & Windows computers, printers and other peripherals communicating via switches statically & dynamically assigning Internet Protocol (IP) addresses.
|
Another way of using a network of computers is to have one computer act as an 'expert' on one computational topic, and serve the needs of client computers for that one purpose. Parallel Processing and Client-Server configurations are just two of the many ways that Networks can allow for much faster computation and provide significant advantages over a single computer in a stand-alone configuration.
Client-Server Example: An Email Server with 3 Client applications on 3 separate computers.
|
For the purpose of this course, only a narrow understanding of one aspect of networking is critical. We will focus on the Client-Server networking model. As mentioned above, the basic idea is that you have one program that acts as a Server for an application, and it allows other programs to connect to it and use that application as it's Clients. The server program and it's client programs can reside on separate computers, allowing for more speed and flexibility. We will be using this client-server architecture in a variety of way, and we'll make use of the notion of sockets to create our client-server network connections.
The next section (Connect) will provide more details on the definition and usage of sockets, as well as the concept and implementation of the Client-Server model. Once we've covered the concept sufficiently, we'll get a chance to Apply our understanding by stepping through a couple of tutorials and answering some questions about the specifics of what's been covered.
|