文档介绍:Chapter 3: Client Software Design Chapter 3: Client Software Design
Chapter goal: Chapter goal:
Algorithm and issues Algorithm and issues
Concurrency in client Concurrency in client
Client examples Client examples
哈工大计算机学院 work Application Development Client Software Design 1 哈工大计算机学院 work Application Development Client Software Design 2
Learning algorithm instead of
details Client architecture
An application that uses TCP/IP must specify many
details about the munication. Clients are conceptually simpler than
Knowing the low-level details of all possible socket servers.
functions and their exact parameters does not provide
programmers with an understanding of how to build Most client does not explicitly handle
well-designed, distributed program. concurrent interaction with multiple servers.
General understanding of the functions used for
munication is important. Most client executes as a conventional app
If the programmer knows what the program should do, program.
finding out how to do it is straightforward.
Most client does not need to enforce
Although programmers need to understand the
conceptual capabilities of the protocol interface, they protections.
should concentrate on learning about ways to structure
communicating programs instead of memorizing the
details of a particular interface.
哈工大计算机学院 work Application Development Client Software Design 3 哈工大计算机学院 work Application Development Client Software Design 4
Identify a server Parsing an address argument
Several methods to find a server’s IP address and Client can use domain name or IP address to
protocol port number: identify the server machine.
Domain name or IP address as a constant in program;
Requiring user to identify; To determine whether the user has specified
From stable storage; a name or an address, the client scans the
Using a separate protocol to find; argument.
Allowing