17.0 第17章 前言

第17章 网络编程 前言

本章要点

  • 计算机网络基础
  • IP地址和端口
  • 使用InetAddress包装IP地址
  • 使用URLEncoderURLDecoder工具类
  • 使用URLConnection访问远程资源
  • TCP协议基础
  • 使用ServerSocketSocket
  • 使用NIO实现非阻塞式网络通信
  • 使用AIO实现异步网络通信
  • UDP协议基础
  • 使用DatagramSocket发送/接收数据报(DatagramPacket)
  • 使用MulticastSocket实现多点广播
  • 通过Proxy使用代理服务器
  • 通过ProxySelector使用代理服务器

本章将主要介绍Java网络通信的支持,通过这些网络支持类,Java程序可以非常方便地访问互联网上的HTTP服务、FTP服务等,并可以直接取得互联网上的远程资源,还可以向远程资源发送GETPOST请求

介绍网络工具类

本章先简要介绍计算机网络的基础知识,包括酽地址和端口等概念,这些知识是网络编程的基础。本章会详细介绍InetAddressURLDecoderURLEncoderURLURLConnection等网络工具类,并会深入介绍通过URLConnection发送请求、访问远程资源等操作。

TCP编程

本章将重点介绍Java提供的TCP网络通信支持,包括如何利用ServerSocket建立TCP服务器,利用Socket建立TCP客户端。实际上Java的网络通信非常简单,服务器端通过ServerSocket建立监听,客户端通过Socket连接到指定服务器后,通信双方就可以通过IO流进行通信。本章将以采用逐步迭代的方式开发一个C/S结构多人网络聊天工具为例,向读者介绍基于TCP协议的网络编程。

UDP编程

本章还将重点介绍Java提供的UDP网络通信支持,主要介绍如何使用DatagramSocket来发送、接收数据报(DatagramPacket),并讲解如何使用MulticastSocket来实现多点广播通信。本章也将以开发局域网通信程序为例来介绍MulticastSocketDatagramSocket的实际用法

代理服务器访问远程资源

本章最后还会介绍利用ProxyProxySelectorJava程序中通过代理服务器访问远程资源。