10. Network Clients
Most applications written today require some network features. The standalone Java application is a relatively rare occurrence. Therefore, this chapter on network clients is valuable to most developers writing Java applications today.
Network program involves communication between a client and a server. The client is typically the application making some request for content or services, and the server is a network-based application that serves content and services to many clients. In this chapter, we focus on the client. In Chapter 11, "Network Servers," we'll provide server-related phrases.
Except for a phrase that deals with reading a web page via HTTP, the phrases in this chapter are all at the level of socket-based programming. Sockets are a low-level networking implementation. For most of your needs, you will want to use a protocol that is at a layer above sockets, such as HTTP, SMTP, or POP. Additional Java or third-party APIs are available for dealing with these higher level network protocols.
The java.net package provides the functionality for client-side networking that we will use in this chapter.
J2EE, which is not covered in this book, offers many more network-based services including full support for server-side Java web development. Network-related technologies included in J2EE include servlets, EJB, and JMS.