Java. 网络编程
506 页
Chinese
PDF
4.5

Java. 网络编程

Java. 网络编程

作者:

年份:

简介:

引言

由 Elliotte Rusty Harold 所著的《Java Network Programming》(第4版,2013年)是一本关于使用 Java 语言开发网络应用的经典指南。尽管自出版以来已过去十多年,这本书对于理解 Java 中网络工作的基本原理仍然具有现实意义,尤其是在经典 API(java.net)的背景下。作者是知名的 Java 和 XML 专家,他深入讲解了套接字、URL、HTTP、UDP 和多线程,同时也涉及了诸如 NIO(New I/O)等更现代的主题。

本书面向已经熟悉 Java 基础的开发者,旨在不仅提供语法,更深入理解网络协议在代码层面的工作原理。它并非参考手册,而是一本包含大量实践示例的教科书。

本书内容

本书涵盖了 Java 网络编程的几乎所有方面,从最基础的内容到高级主题。主要内容分为几个逻辑模块:

  • 网络基础: IP 地址、端口、TCP 和 UDP 协议、OSI 模型。作者解释了 Java 如何抽象这些概念。
  • 使用 URL 和 URI: URL、URLConnection、HttpURLConnection 类。解析、创建和处理链接,处理 HTTP 请求和响应。
  • TCP 套接字: Socket 和 ServerSocket 类。编写客户端-服务器应用程序,处理多个客户端,超时,缓冲。
  • UDP 套接字: DatagramSocket 和 DatagramPacket 类。发送和接收数据报,广播。
  • 网络中的多线程: 创建多线程服务器,线程池,处理对资源的并发访问。
  • NIO(New I/O): 通道(Channels)、缓冲区(Buffers)、选择器(Selectors)。用于高负载系统的非阻塞输入/输出。
  • 安全性: SSL/TLS、身份验证、加密、处理安全连接。
  • 应用层协议: 实现简单 HTTP 客户端、SMTP、POP3、FTP 的示例。

本书适合谁

本书对以下人群有益:

  • 中级 Java 开发者,希望加深在网络交互方面的知识。
  • 学生和初级程序员,正在学习 Java 并希望从“内部”理解网络应用程序的工作原理。
  • 从其他语言(例如 C++ 或 Python)转向 Java 的开发者,需要系统化地了解网络 API 知识。
  • 软件架构师,正在设计分布式系统并希望深入了解 Java 中网络协议的实现细节。

读者将学到什么

阅读本书后,读者将能够:

  • 熟练使用 Socket 和 ServerSocket 类创建 TCP 客户端和服务器。
  • 使用 URLConnection 和 HttpURLConnection 执行 HTTP 请求(GET、POST、PUT、DELETE)。
  • 理解 TCP 和 UDP 之间的区别,并为特定任务选择合适的协议。
  • 使用线程池和同步实现 多线程服务器。
  • 使用 Java NIO 创建可扩展的非阻塞应用程序。
  • 配置 SSL/TLS 以实现安全的数据交换。
  • 编写简单协议的自定义实现(例如,无需第三方库的 HTTP 客户端)。
  • 调试网络应用程序并处理典型错误(超时、连接中断)。

优势

本书具有一系列无可争议的优点:

  • 深度和系统性: 作者不仅仅列举 API 方法,而是解释它们为何如此工作,经常引用 RFC 和标准。

推荐