Application Layer

2.7 Socket Programming with TCP

Home
Introduction
2.1 Principles of Network Applications
2.1.1 Network Application Architectures
2.1.2 Processes Communcating
2.1.3 Application-Layer Protocols
2.1.4 What Services Does an Application Need?
2.1.5 Services Provided by the Internet Transport Protocols
2.2 The Web and HTTP
2.2.1Overview of HTTP
2.2.2 Nonpersistent and Persistent Connections
2.2.3 HTTP Message Format
2.2.4 User-Server Ineraction: Cookies
2.2.5 HTTP Content
2.2.6 Web Caching
2.2.7 The Conditional GET
2.3 File Transfer: FTP
2.3.1 FTP Commands and Replies
2.4 Electronic Mail in the Internet
2.4.1 STMP
2.4.2 Comparison with HTTP
2.4.3 Mail Message Formats and MIME
2.4.4 Mail Access Protocols
2.5 DNS--The Internet's Directory Service
2.5.1 Services Provided by DNS
2.5.2 Overview of How DNS Works
2.5.3 DNS Records and Messages
2.6 P2P File Sharing
2.7 Socket Programming with TCP
2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java
2.8 Socket Programming with UDP

Socket Programming with TCP

Many network applications consist of a pair of programs--a client program ans a server program--residing in two different end systems.  When these two processes communicate with each other by reading from and writing to sockets.  When creating a network application, the developer's main task is to write the code fro both the client and server programs.
 
There are two sorts of network applications.  One sort is a network application that is an implementation of a protocol standard defined in an RFC.  The client ans derver programs must conform to the rules dictated by the RFC.
 
The other sort of network application is a proprietary network application.  IN this case the application-layer protocol used by the client and server programs do not neccessarily conform to any existing RFC.  A single developer creates both the slient and server programs, and the developer has complete control over what goes in the code. 

2.7.1 Socket Programming with TCP
2.7.2 An Example Client/Server Application in Java