- Learning Network Programming with Java
- Richard M.Reese
- 370字
- 2021-08-20 10:41:35
What this book covers
Chapter 1, Getting Started with Network Programming, introduces the essential network terminology and concepts. The networking support that Java provides is illustrated with brief examples. A simple client/server application is presented along with a threaded version of the server.
Chapter 2, Network Addressing, explains how nodes on a network use addresses. How Java represents these addresses is introduced along with support for IPv4 and IPv6. This chapter also covers how Java can configure various network properties.
Chapter 3, NIO Support for Networking, explains how the NIO package provides support for communication using buffers and channels. These techniques are illustrated with a client/server application. The support that NIO provides for asynchronous communication is also demonstrated.
Chapter 4, Client/Server Development, covers how HTTP is an important and widely-used protocol. Java provides support for this protocol in a variety of ways. These techniques are illustrated along with a demonstration of how cookies are handled in Java.
Chapter 5, Peer-to-Peer Networks, discusses how peer-to-peer networks provide a flexible alternative to the traditional client/server architecture. The basic peer-to-peer concepts are introduced along with demonstrations of how Java supports this architecture. FreePastry is used to illustrate one open source peer-to-peer solution framework.
Chapter 6, UDP and Multicasting, explains how UDP is an alternative to TCP. It provides a less reliable but more efficient way for applications to communicate across the Internet. Java's extensive support for this protocol is demonstrated, including NIO support, and how UDP can support streaming media.
Chapter 7, Network Scalability, explains how, as more demands are placed on a server, systems need to scale to address these demands. Several threading techniques supporting this need are demonstrated, including thread pools, futures, and the NIO's selector.
Chapter 8, Network Security, discusses how applications need to protect against a variety of threats. This is supported in Java using encryption and secure hashing techniques. Symmetric and asymmetric encryption techniques are illustrated. In addition, the use of TLS/SSL is demonstrated.
Chapter 9, Network Interoperability, covers how Java applications may need to exchange information with other applications that are written in different languages. The issues that impact an application's interoperability are examined, including byte order. Communication between different implementations is demonstrated using sockets and middleware.
- Vue.js 3.x快速入門
- 潮流:UI設(shè)計(jì)必修課
- 數(shù)據(jù)結(jié)構(gòu)案例教程(C/C++版)
- Mastering Unity 2D Game Development(Second Edition)
- C++程序設(shè)計(jì)教程
- DB2SQL性能調(diào)優(yōu)秘笈
- Python Machine Learning Cookbook
- Flink核心技術(shù):源碼剖析與特性開發(fā)
- PHP+MySQL Web應(yīng)用開發(fā)教程
- HTML5 and CSS3:Building Responsive Websites
- VMware vRealize Orchestrator Essentials
- FORTRAN程序設(shè)計(jì)權(quán)威指南
- 測(cè)試基地實(shí)訓(xùn)指導(dǎo)
- 接口自動(dòng)化測(cè)試持續(xù)集成:Postman+Newman+Git+Jenkins+釘釘
- Python游戲編程項(xiàng)目開發(fā)實(shí)戰(zhàn)