面向对象程序设计 网络编程.ppt
《面向对象程序设计 网络编程.ppt》由会员分享,可在线阅读,更多相关《面向对象程序设计 网络编程.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上节回顾Java I/O基本概念流的基础知识字节流与字符流利用流实现基本的I/O操作网络编程学习目的与要求:学习目的与要求:深刻理解网络编程模型。深刻理解网络编程模型。深刻理解相关网络概念。深刻理解相关网络概念。熟练使用熟练使用Socket进行编程进行编程 网络编程基础网络编程基础lC/S模式和模式和B/S模式模式 客户/服务器模型lTCP/IP协议协议所谓通信协议,就是客户端计算机与服务器端计算机在网络上通信的所谓通信协议,就是客户端计算机与服务器端计算机在网络上通信的方法。计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,方法。计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,
2、必须遵循一定的协议必须遵循一定的协议 目前使用最广泛的网络协议是目前使用最广泛的网络协议是Internet上所使用的上所使用的TCP/IP协议。协议。TCP协议即传输控制协议,是一种面向连接的保证可靠传输的协议;协议即传输控制协议,是一种面向连接的保证可靠传输的协议;IP协议即网际协议,是一种面向无连接的协议。通过协议即网际协议,是一种面向无连接的协议。通过TCP协议传输,协议传输,得到的是一个顺序的无差错的数据流得到的是一个顺序的无差错的数据流 UDP是是User Datagram Protocol的简称,是一种无连接的协议,每的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完
3、整的源地址或目的地址,它在个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的的地的时间以及内容的正确性都是不能被保证的 lURL和和IP地址地址URLURL即统一资源定位器,是即统一资源定位器,是Internet的关键部分,它表示的关键部分,它表示Internet上某一资源的地址上某一资源的地址它提供了人和机器的导航,其功能是指向计算机里的资源,即定它提供了人和机器的导航,其功能是指向计算机里的资源,即定位。位。URL可以分
4、成三个部分:通信协议、计算机地址和文件可以分成三个部分:通信协议、计算机地址和文件URL常见的通信协议有三种:常见的通信协议有三种:http,ftp和和file URL是最为直观的一种网络定位方法。是最为直观的一种网络定位方法。使用使用URL符合人们的语言习惯,容易记忆,所以应用十分广泛。符合人们的语言习惯,容易记忆,所以应用十分广泛。而且在目前使用最为广泛的而且在目前使用最为广泛的TCP/IP中对于中对于URL中主机名的解析也中主机名的解析也是协议的一个标准,即所谓的域名解析服务是协议的一个标准,即所谓的域名解析服务使用使用URL进行网络编程,不需要对协议本身有太多的了解,功能进行网络编程,
5、不需要对协议本身有太多的了解,功能也比较弱,相对而言是比较简单的也比较弱,相对而言是比较简单的 IP地址地址IP地址地址Internet上的计算机都有一个地址,这个地址就是一个数,称为上的计算机都有一个地址,这个地址就是一个数,称为IP地址,它惟一地标识了网络上的每台计算机地址,它惟一地标识了网络上的每台计算机目前目前Internet中中IP地址使用的都是地址使用的都是IPv4协议,但随着时间的推移协议,但随着时间的推移IPv6协议将协议将会取代会取代IPv4协议成为协议成为IP地址的主要方案地址的主要方案 在在Internet上都是通过上都是通过IP地址来访问主机,但地址来访问主机,但IP地
6、址不容易记忆,我们通常地址不容易记忆,我们通常利用域名来访问利用域名来访问Internet上的主机上的主机 端口号端口号网络通信时同一机器上的不同进程的标识。如网络通信时同一机器上的不同进程的标识。如:80、21、23和和25等,等,其中其中11024为系统保留的端口号。为系统保留的端口号。(1)使用)使用URL进行网络编程进行网络编程(2)使用)使用Socket通信通信(3)使用)使用UDP通信通信 InetAddress类类 方法名方法功能StringgetHostAddress()获获取取InetAddress所含的所含的IP地址地址StringgetHostName()获获取取Inet
7、Address所含的域名所含的域名staticInetAddressgetLocalHost()获获取本地机的地址取本地机的地址StringgetByName()通通过过域名域名获获取取IP地址或通地址或通过过IP地址地址获获取域名取域名getAddress()返回返回IP地址的字地址的字节节形式形式getAllByName()返回指定主机名的返回指定主机名的IP地址地址getByAddress()返回指定字返回指定字节节数数组组的的IP地址形式地址形式hastCode()返回返回InetAddress对对象的哈希象的哈希码码toString()返回地址返回地址转换转换成的字符串成的字符串表1
8、2.1 InetAddress类常用方法InetAddress类应用类应用/获得计算机名称和获得计算机名称和IP地址演示程序地址演示程序import .*;public class INetDemo public static void main(String args)new INetDemo().say();public void say()try InetAddress i=InetAddress.getLocalHost();System.out.println(i);System.out.println(主机名称为主机名称为:+i.getHostName();System.out.p
9、rintln(IP地址为地址为:+i.getHostAddress();catch(Exception e)e.printStackTrace();使用使用URL方式进行网络连接方式进行网络连接在在JAVA中,中,.URL类和类和.URLConection类使编程者方便地利用类使编程者方便地利用URL在在Internet上进行网络通信。上进行网络通信。URL类和类和URLConnection类提供给我们一种简便的方法编写类提供给我们一种简便的方法编写网络程序,实现一些较高级的协议访问网络程序,实现一些较高级的协议访问Internet URL类封装了使用统一资源定位器访问类封装了使用统一资源定位
10、器访问WWW上的上的资源的方法。这个类可以生成一个寻址或指向某个资源的方法。这个类可以生成一个寻址或指向某个资源的对象。资源的对象。URL类对象指向类对象指向WWW资源资源(Web页、页、文本文件、图形文件、声频片段等文本文件、图形文件、声频片段等)URL的基本格式:的基本格式:protocol:/hostname:port/resourcename#anchor,URL中各组成项的主要含义如表中各组成项的主要含义如表12.2所示所示 符号含义protocol协议协议,包括,包括http、ftp、gopher、news、telnet等等hostname主机名,指定主机名,指定DNS服服务务器能
11、器能访问访问的的WWW上的上的计计算机名称,算机名称,如如port端口号,可端口号,可选选,表示所,表示所连连的端口,只在要覆盖的端口,只在要覆盖协议协议的缺省端的缺省端口口时时才有用,如果忽略端口号,将才有用,如果忽略端口号,将连连接到接到协议协议缺省的端口,缺省的端口,例如例如http协议协议的缺省端口的缺省端口为为80resourcename资资源名,是主机上能源名,是主机上能访问访问的目的目录录或文件或文件anchor标记标记,可,可选选,它指定在,它指定在资资源文件中的有特定源文件中的有特定标记标记的位置的位置表12.2 URL含义 URL构造方法和常用方法构造方法和常用方法表12.
12、3 URL类构造方法和常用方法方法名方法功能URL(Stringurl)建立指向建立指向url资资源的源的URL对对象象URL(URLbaseURL,StringrelativeURL)通通过过URL基地址和相基地址和相对对于于该该基地址的基地址的资资源名建立源名建立URL对对象象URL(Stringprotocol,Stringhost,Stringfile)通通过给过给定的定的协议协议、主机和文件名建立、主机和文件名建立URL对对象象URL(Stringprotocol,Stringhost,intport,Stringfile)通通过给过给定定协议协议、主机、端口号和文件名建立、主机、端
13、口号和文件名建立URL对对象象getPort()获获得端口号得端口号getProtocol()获获得得协议协议getHost()获获得主机名得主机名getFile()获获得文件名得文件名getRef()获获得得连连接接getDefaultPort()获获得默得默认认的端口号的端口号getUserInfo获获得用得用户户信息信息getContent()不必不必显显式指定式指定寻寻找的找的资资源源类类型,就可以取回型,就可以取回资资源并返回相源并返回相应应的形式。的形式。(例如例如GIF或或JPEG图图形形资资源会返回一个源会返回一个Image对对象象)openStream()打开一个打开一个输输
14、入流,返回入流,返回类类型是型是InputStream,这这个个输输入流的起点是入流的起点是URL实实体体对对象的内象的内容所代表的容所代表的资资源位置源位置处处,终终点点则则是使用了是使用了该该URL实实体体对对象及方法象及方法openStream()的程序。的程序。在在输输入流建好了之后,我入流建好了之后,我们们就可以从就可以从输输入流中入流中读读取数据了,而取数据了,而这这些信息数据的些信息数据的实际实际来来源,源,则则是最是最为输为输入流起点的网上入流起点的网上资资源文件源文件URL应用实例应用实例/URL应用演示程序应用演示程序import .*;import java.io.*;p
15、ublic class UrlDemopublic static void main(String args)throws ExceptiontryURL url=new URL(http:/);InputStreamReader isr=new InputStreamReader(url.openStream();BufferedReader br=new BufferedReader(isr);String strInfo;while(strInfo=br.readLine()!=null)System.out.println(strInfo);br.close();isr.close()
16、;catch(Exception e)System.out.println(e);基于基于Socket的通讯的通讯lSocket概述概述套接字用于实现网络上客户程序和服务程序之间的连接,套接字用于实现网络上客户程序和服务程序之间的连接,即网络上两个以双工方式通信的进程之间的连接端点称为即网络上两个以双工方式通信的进程之间的连接端点称为套接字。套接字在较低层次上进行通信。套接字。套接字在较低层次上进行通信。套接字是套接字是TCP/IP中的基本概念,它的含义类似于日常使中的基本概念,它的含义类似于日常使用的插座,主要用来实现将用的插座,主要用来实现将TCP/IP包发送到指定的包发送到指定的IP地地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 网络编程 面向 对象 程序设计 网络 编程
限制150内