文档介绍:Chapter 4: Server Software Design
Chapter goal:
Algorithm and issues
Iterative servers
Concurrent, connection-oriented
servers
Singly-threaded, concurrent
servers
Multiprotocol servers
Multiservice servers
Uniform, efficient management
of server concurrency
哈工大计算机学院 work Application Development Server Software Design 1
Chapter 4: Server Software Design
Chapter goal:
Algorithm and issues
Iterative servers
Concurrent, connection-oriented
servers
Singly-threaded, concurrent
servers
Multiprotocol servers
Multiservice servers
Uniform, efficient management
of server concurrency
哈工大计算机学院 work Application Development Server Software Design 2
The conceptual server algorithm
Each server follows a simple algorithm:
Creates a socket
Binds port
Enters infinite loop
Accepts request
Processes request
Responses
But only suffices for only the most trivial
services
哈工大计算机学院 work Application Development Server Software Design 3
Concurrent vs. Iterative
Servers
Iterative server
Process one request at a time
Unnecessary delays
Easier to build
Poor performance
Concurrent server
Handles multiple requests at one time
More difficult to design and build
Better performance
哈工大计算机学院 work Application Development Server Software Design 4
Connection-oriented vs.
Connectionless Servers
Depend on the application protocol
Connection-oriented servers
Advantages:
Ease of programming
TCP provides reliability
Disadvantages:
Require a separate socket for each connection
Overhead of 3-way handshaking
TCP does not send any packets over an idle
connection- run out of resources
哈工大计算机学院 work Application Development Server Software Design 5
Connection-oriented vs.
Connectionless Servers
Connectionless servers
Advantages:
Do not suffer from the problem of resource
depletion
Can supply bro