NETWORK PROGRAMMING MUHAMMAD FARHAT ABDUL HAKEEM MOHAMED ANAAS
INTRODUCTION • In computing, network programming essentially identical to socket programming or client-server programming, involves writing computer programs that communicate with other programs across a computer network. • The program or process initiating the communication is called a client process, and the program waiting for the communication to be initiated is the server process. The client and server processes together form a distributed system.
• The communication between the client and server process may either be connection-oriented (such as an established TCP virtual circuit or session), or connectionless (based on UDP datagrams). • A program that can act both as a client and a server is based on peer-to-per communication.
PROGRAMMING ON LINUX • Like most other Unix-based operating systems, Linux supports TCP/IP as its native network transport. In this series, we will assume you are fairly familiar with C programming on Linux and with Linux topics such as signals, forking, etc.
• This article is a basic introduction to using the BSD socket interface for creating networked applications. In the next article, we will deal with issues involved in creating (network) daemon processes. Future articles will cover using remote procedure calls and developing with CORBA/distributed objects.
BRIEF INTRODUCTION TO TCP/IP • The TCP/IP suite of protocols allows two applications, running on either the same or separate computers connected by a network, to communicate. • It was specifically designed to tolerate an unreliable network. TCP/IP allows two basic modes of operation—connectionoriented, reliable transmission and connectionless, unreliable transmission (TCP and UDP respectively).
NETWORK PROGRAMMING WITH PERL • Network Programming with Perl is a comprehensive, example-rich guide to creating network-based applications using the Perl programming language. • Among its many capabilities, modern Perl provides a straightforward and powerful interface to TCP/IP, and this book shows how to leverage these capabilities to create robust, maintainable, and efficient custom client/server applications.
• The book quickly moves beyond the basics to focus on high-level, application programming concepts, tools, and techniques. • Students will find a review of basic networking concepts and Perl fundamentals, including Perl's I/O functions, process model, and objectoriented extensions.
• In addition, the book examines a collection of the best third-party modules in the Comprehensive Perl Archive Network, including existing network protocols for e-mail, news, and the Web.
MICROSOFT.NET FRAMEWORK • The Microsoft .NET Framework provides a layered, extensible, and managed implementation of Internet services that can be quickly and easily integrated into your applications. • Your applications can build on pluggable protocols to automatically take advantage of new Internet protocols, or they can use a managed implementation of the Windows socket interface to work with the network on the socket level.