文档介绍:Java 程序设计 Java Programming 1第十一章网络编程计算机网络与多媒体研究所计算机科学与技术、软件学院浙 江工业大学高家全 Cell : ********** Email: springf12@ Java 程序设计 Java Programming 2 前言前言本章的目的本章的目的:本章在介绍网络基础知识包括 URL 、 TCP 、 UDP 以及 SOCKET 的基础上,通过网络编程操作例子,向读者介绍如何通过 JAVA 程序实现多台计算机之间进行通信的技术。回顾关键词回顾关键词:线程与进程、线程两种方法(继承 Thread 类、实现 Runable 接口)、同步与互斥、后台线程(Daemon) Java 程序设计 Java Programming 3 小节安排小节安排网络编程 网络编程基础 网络编程的两个基本问题 网络编程相关的基本概念 URL 编程 URL 简介 URL 类 从URL 读取万维网资源 网络编程的乱码问题 利用 URLConnection 实现双向通信 Java 程序设计 Java Programming 4 网络编程基础网络编程基础网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。因此网络编程的重点就在于: ?找到主机?找到进程 网络编程的两个基本问题 Java 程序设计 Java Programming 5 网络编程基础网络编程基础 IP地址: 是为计算机网络相互连接进行通信而设计的协议。 IP 地址是我们进行 TCP/IP 通讯的基础,每个连接到网络上的计算机都必须有一个 IP地址。 IP地址的格式为: IP地址= 网络地址+ 主机地址或者 IP地址=主机地址+ 子网地址+ 主机地址。 网络编程相关的基本概念 Java 程序设计 Java Programming 6 网络编程基础网络编程基础主机名: 因特网上的主机或 Web 站点由主机名识别。主机名有时称为域名。主机名映射到 IP 地址,但是主机名和 IP 地址之间没有一对一关系。主机名由称为 DNS 服务器或域名服务器的服务器映射到 IP 地址。 DNS 代表域名服务。在大型网络中,许多 DNS 服务器可以相互协作, 以提供主机名和 IP 地址之间的映射。 Java 程序设计 Java Programming 7 网络编程基础网络编程基础端口号: "端口"是英文 port 的意译,是 TCP/IP 协议中,应用层进程与传输层协议实体间的通信接口,可以认为是计算机与外界通讯交流的接口。类似于文件描述符,每个端口都有一个为整数型识别符的端口号( Port Number )。端口号的范围从 0到65535 ,比如用于浏览网页服务的 80端口,用于 FTP 服务的 21端口等等。 Java 程序设计 Java Programming 8 网络编程基础网络编程基础 TCP/UDP 协议: TCP (Transmission Control Protocol) 和 UDP(User Datagram Protocol) 协议属于传输层协议。 TCP 支持的应用协议主要有: 、 FTP 、 SMTP 等; UDP 支持的应用层协议主要有: NFS (网络文件系统)、 SNMP (简单网络管理协议)、 DNS (主域名称系统)、 TFTP (通用文件传输协议)等。 Java 程序设计 Java Programming 9 9 9 URL URL 编程编程 URL(Uniform Resource Locator) 是一致资源定位器的简称, 它表示 上某一资源的地址。通过 URL 我们可以访问 上的各种网络资源,比如最常见的 WWW , FTP 站点。浏览器通过解析给定的 URL 可以在网络上查找相应的文件或其他资源 URL 简介 Java 程序设计 Java Programming 10 10 10 URL URL 编程编程(Protocol)(Host)[:Port][File][#Reference] 示例? :8080/demoweb/#INSTALL ? http:// :80 /