ABSTRACT

Network programming refers to designing programs that may run on different machines but are capable of communicating with each other. That is, the programs cooperatively solve some problem by communicating with each other. Unless otherwise specified, the words program, process, and application are used in this text synonymously, and the term communication refers to unicast communication, in which communication takes place between one sender and one receiver. Unicast communication is also called one-one communication. We consider a message to be the basic unit of communication. The different possibilities as to where these communicating programs/processes can reside are as follows:

All reside in a standalone computer.

Each resides in a different computer and the computers are connected through a network.

Each resides in computers that are in different networks connected to Internet.