文档介绍:主讲教师: 李青TEL: **********Email: LKJ0986@信息技术学院
JAVA编程
1
本讲内容
1、
2、Address
3、使用URL
4、Socket通信
5、数据报通信
2
概述
Applet
Applet程序嵌在HTML文件中,通过网络下载Applet程序代码,在本地Java-enabled browser 中执行
HTTP
通过URL类获取服务器端的HTML文件
Socket(套接字)
实现Client/Server结构的应用
JDBC (Java Database Connectivity)
通过网络访问关系型数据库
Oracle, MS SQL, Sybase
Servlet/JSP (Java Server Page)
WEB服务器端的动态编程
网络层次
3
图 TCP/IP协议的层次结构
物理层
4
针对网络通信的不同层次,Java提供的网络功能有四大类:InetAddress 、URLs、Sockets、Datagram。
InetAddress面向的是IP层,用于标识网络上的硬件资源。
URL面向的应用层,通过URL,Java程序可以直接送出或读入网络上的数据。
Sockets和Datagram面向的则是传输层。Sockets使用的是TCP协议,这是传统网络程序最常用的方式,可以想象为两个不同的程序通过网络的通信信道进行通信。Datagram则使用UDP协议,是另一种网络传输方式,它把数据的目的地纪录在数据包中,然后直接放在网络上。
5
包中的主要的类和可能产生的例外包括:
面向IP层的类:InetAddress
面向应用层的类:URL、URLConnection
面向网络层的类:
TCP协议相关类:Socket、ServerSocket
UDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket
可能产生的Exception:
BindException、ConnectException、MalformedURLException、NoRouteToHostException、ProtocolException、SocketException、UnknownHostException、UnknownServiceException
6
使用Java语言编写网络通信程序通常是在应用层,对某些特殊的应用可能需要直接基于传输层协议编程,一般无需关心网络通信的具体细节,特别是互联网层和网络接口层。
传输层提供在源结点和目标结点的两个进程实体之间提供可靠的端到端的数据传输,TCP/IP模型提供了两种传输层协议,即传输控制协议TCP和用户数据报协议UDP。
7
TCP/IP(传输控制协议/网间协议)的主要协议,定义了计算机和外设进行通信所使用的规则。TCP/IP网络参考模型包括五个层次:应用层、传输层、网络层、链路层、物理层。
ISO/OSI网络参考模型则包括七个层次:应用层、表示层、会话层、传输层、网络层、链路层、物理层。
1、
——网络基本概念
物理层
8
1、
——网络基本概念
端口号是一个标记机器的逻辑通信信道的正整数,端口号不是物理实体。IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的最后终结点,它是TCP和UDP的基础。
网络服务
http
ftp
其他服务
23
数据结构
I/O缓冲区
端口
21
80
客户程序
Socket
IP,port
IP与端口号组合而得出的Socket,上运行的程序。
9
端口号是用一个16位的整数来表达的,其范围为0~65535,其中0~1023为系统所保留,专门给那些通用的服务(well-known services),如http服务的端口号为80,服务的端口号为21,ftp服务的端口为23,…因此,当我们编写通信程序时,应选择一个大于1023的数作为端口号,以免发生冲突。
1、
——网络基本概念
10