文档介绍:Chapter 3: Client Software Design
Chapter goal:
Algorithm and issues
Concurrency in client
Client examples
哈工大计算机学院 work Application Development Client Software Design 1
Chapter 3: Client Software Design
Chapter goal:
Algorithm and issues
Concurrency in client
Client examples
哈工大计算机学院 work Application Development Client Software Design 2
Learning algorithm instead of
details
An application that uses TCP/IP must specify many
details about the munication.
Knowing the low-level details of all possible socket
functions and their exact parameters does not provide
programmers with an understanding of how to build
well-designed, distributed program.
General understanding of the functions used for
munication is important.
If the programmer knows what the program should do,
finding out how to do it is straightforward.
Although programmers need to understand the
conceptual capabilities of the protocol interface, they
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
Client architecture
Clients are conceptually simpler than
servers.
Most client does not explicitly handle
concurrent interaction with multiple servers.
Most client executes as a conventional app
program.
Most client does not need to enforce
protections.
哈工大计算机学院 work Application Development Client Software Design 4
Identify a server
Several methods to find a server’s IP address and
protocol port number:
Domain name or IP address as a constant in program;
Requiring user to identify;
From stable storage;
Using a separate protocol to find;
Allowing the user to specify a server address when
invoking client software makes the client program
more general and makes it possible to change server
locations.
Building