Networking and Network Programming

Only available on StudyMode
  • Download(s) : 32
  • Published : January 31, 2013
Open Document
Text Preview
Introduction to Networking
1 Networking and Network Programming 2 TCP/IP Overview 3 WinSock Overview 4 Visual C++

I

Chapter 1 s

Networking and Network Programming

3

1
Networking Networking and Network and Network Programming Programming

4

Part I s

Introduction to Networking

The purpose of this book is to show you how to make network-aware applications that run on the Microsoft Windows and Windows NT operating systems using the Windows Sockets (WinSock) Application Programming Interface (API). To that end, several practical examples are examined that utilize the basic functionality of WinSock. Network operating systems, such as Windows for Workgroups and Windows NT, provide basic file and printer sharing services. This most basic level of functionality is provided “out of the box.” Network-aware applications are programs that use the capabilities of a collection of connected computers. Network-aware programs range from custom applications that transfer data among computers on a network to mainstream applications that enable electronic mail and remote database access. The WinSock API is a library of functions that a programmer can use to build these network-aware applications. WinSock has its roots in Berkeley sockets as introduced in the Berkeley Software Distribution of UNIX. WinSock uses the TCP/IP (Transmission Control Protocol/Internet Protocol) suite, which provides the formal rules of behavior that govern network communications between all computers running this particular computer networking protocol. Before I begin the examination of network programming, look at the basics of computer networking in general. A network can be loosely defined as a collection of two or more computers that have some sort of communication path between them. A network can be loosely classified as either a local area network (LAN) or wide-area network (WAN). The use of the terms LAN and WAN is somewhat misleading because which term you use is relative to the particular network installation you’re describing. Generally speaking, a LAN covers a much more geographically restricted area than does a WAN. Whereas a LAN may connect computers within an office building, a WAN may connect computers spread across the country. With the advances in networking hardware and software, many widely dispersed LANs can now be connected to form a much larger homogeneous WAN. Devices known as bridges and routers allow for this connection of disparate LANs. Computer networks aren’t new, but they weren’t accepted in the personal computer realm until perhaps the late 1980s, when computer firms began offering cost-effective and reliable networking for the desktop PC. At that time, the primary goal of the PC network was to provide a central repository for files and to allow printers to be shared among many users. It hasn’t been until relatively recently that businesses have realized the true potential of a PC network.

Chapter 1 s

Networking and Network Programming

5

Goals of Networking
The goals of PC networking have been expanding over the last few years—from simple file and printer sharing to access of fax machines, modems, and enterprise-wide electronic mail systems. All the while, the essential goals of networking have always been to share resources and to provide a medium for communications.

Resource Sharing
For the sake of this discussion, a network resource is either a device or a capability on the network that’s available for use by network users. The computer that the network resources are attached to is called the server. The other computers that access those resources over the network are called clients. The typical PC network user today takes shared file and printer access for granted. But there are now other resources that also can be made available to the user. Among them are fax machines, modems, compute servers, and database servers.

Files
The traditional use of PC networks has been and probably...
tracking img