Java网络与数据库编程基础

上传人:101****457 文档编号:51363554 上传时间:2018-08-13 格式:PPTX 页数:59 大小:440.69KB
返回 下载 相关 举报
Java网络与数据库编程基础_第1页
第1页 / 共59页
Java网络与数据库编程基础_第2页
第2页 / 共59页
Java网络与数据库编程基础_第3页
第3页 / 共59页
Java网络与数据库编程基础_第4页
第4页 / 共59页
Java网络与数据库编程基础_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《Java网络与数据库编程基础》由会员分享,可在线阅读,更多相关《Java网络与数据库编程基础(59页珍藏版)》请在金锄头文库上搜索。

1、Java网络与数据库编程基础Java网络编程之IP地址和InetAddress 类 难点:网络套接字、客户机端与服务器端 实现通信的应用程序。TCP/IP协议和IP地址 为了进行网络通信,通信双方必须遵守通信协议.目 前最广泛使用的是TCP/IP协议,它是Internet中各方 所遵循的公共协议.TCP(Transport Control Protocol) 是一种传输控制协议,IP(Internet Protocol)是一种网 际协议,TCP/IP代表这两个协议的。TCP/IP分为四个层次: 网络接口层:负责接收和发送物理帧; 网络层:负责相邻节点之间的通信; 传输层:负责起点到终点的通信;

2、 应用层:提供诸如文件传输、电子邮件等应用程序。 TCP/IP协议是一个协议族,由一组协议组成,主要 包含以下更具体的协议: Telnet(远程登录):允许一台计算机用户登录到另一 台远程计算机上,使远程操作如同在本地计算机上操 作一样。 FTP(File Transfer protocol,文件传输协议):允许用 户将远程主机上的文件复制到自己的计算机上。 SMTP(simple Mail Transfer Protocol,简单邮件传输协 议):用于传输电子邮件。 NFS(Network file Server,网络文件服务器):使多台 计算机透明地访问彼此的目录。 HTTP:一种超文本传

3、输协议,它是基于TCP/IP协议的, 是WWW浏览器和服务器之间应用层的通信协议。HTTP 是一种通用、无状态、面向对象的协议。HTTP会话( 事务)包括四个步骤:连接(Connection)、请求( Request)、应答(Response)和关闭(Close)。 IP地址用于指明因特网上的一台计算机在网络中的 地址,用32位二进制代码表示一个网络地址。地址 分A、B、C、D、E五类,常用的是A、B、C三类: A(1.0.0.0-126.255.255.255):0,7位网络号,后24位为 主机号; B(128.0.0.0-191.255.255.255):10,14位网络号,后16 位为主

4、机号; C(192.0.0.0-223.255.255.255):110,21位网络号,后8 位为主机号; D(224.0.0.0-239.255.255.255):1110,28位多点广播组 标号; E(240.0.0.0-254.255.255.255):1111,保留试验使用。 通常,IP地址用四段十进制数表示(8位一 段)。例如:116.255.226.187 或用文字域名表示。例如: 在因特网上,域名服务器(Domain Name Server,DNS)执行文字名称到二进制网络地 址的映射。InetAddress类 J包中有InetAddress类的定义, InetAddress类的

5、对象用于IP地址和域名,该类 提供以下方法: getByName(String s):获得一个InetAddress 类的对 象,该对象中含有主机的IP地址和域名,该对象用 如下格式表示它包含的信息: String getHostName():获取InetAddress对象的域名 ; String getHostAddress():获取InetAddress对象的IP 地址; getLocalHost():获得一个InetAddress对象,该对象 含有本地机的域名和IP地址。Java网络编程之统一资源定位符URL 统一资源定位符URL(Uniform Resource Locator)是ww

6、w客 户机访问Internet时用来标识资源的名字和地址。超文 本链路由统一资源定位符URL维持。URL的格式是::/ 其中:Method是传输协议:HOSTNAME是文档和服务器 所在的Internet主机名(域名系统中DNS中的点地址) ;PORT是服务端口号(可省略);PATH是路径名,FILE 是文件名。例如:http:/ 是主机名)http:/ (是主机名,view/6079.html是文件 路径和文件名)URL类J包有URL类,一个URL对象可以表示一个网络资源。程序利用 URL对象能实现Internet寻址、网络资源的定位连接、在客户机与服务 器之间直接访问等。URL类的构造方法

7、是URL(String s) 其中,s指出网络中的一个资源。利用URL对象访问网上资源的方法是:先创建URL对象,如以下代码所 示:URL myURL; try myURL = new URL(“http:/:80/”); catch(MalformedURLException e)System.out.println(“有错的URL:”+url+e); 因创建URL对象可能会产生MalformedURLException异常。所以,创建 URL对象的代码应出现在trycatch语句块中,以便能捕捉网址错误异 常。URLConnection类要接收和发关信息还要用URLConnection类,

8、程序获得一个 URLConnection对象,相当于完成对指定URL的一个HTTP连接。 以下是示意获得URLConnection对象的代码。URL mu = new URL(“http:/ 个URL对象URLConnection muC = mu.openConnection();/获得 URLConnection对象 上述代码说明,先要创建一个URL对象,然后利用URL对象的 openConnection()方法,从系统获得一个URLConnection对象。程 序有了URLConnection对象后,就可使用URLConnection类提供的 以下方法获得流对象和实现网络连接:getOu

9、tputStream():获 得向远程主机发送信息的OutputStream流对象; getInputStream():获得从远程主机获取信息的InputStream流对 象。有了网络连接的输入和输出流,程序就可实现远程通信; connect():设置网络连接。信息的发送和接收 发送和接收信息要获得流对象,并由流对 象创建输入或输出数据流对象。然后,就 可以用流的方法访问网上资源。Java 套接字(Socket) 网络应用模式主要有: 主机/终端模式:集中计算,集中管理; 客户机/服务器(Client/Server,简称C/S)模式: 分布计算,分布管理; 浏览器/服务器模式:利用Intern

10、et跨平台。 www(万维网)就是建立在客户机/服务器模式上 ,以HTML语言和HTTP协议为基础,能够提供各种 Internet服务的信息浏览系统。网络信息放在主机的 不同位置,www服务器利用超文本链路链接各项信 息。www客户机(浏览器Brower)负责与服务器建 立联系,向服务器发送请求,处理HTML超媒体,提 供图形用户界面(GUI),显示信息等。在客户机/服务器工作模式中,在Server端,要准备 接受多个Client端计算机的通信。为此,除用IP地址 标识Internet上的计算机之外,另还引入端口号,用 端口号标识正在Server端后台服务的线程。端口号 与IP地址的组合称为网

11、络套接字(socket)。 Java语言在实现C/S模式中,套接字分为两类:在Server 端,ServerSocket类支持底层的网络通信; 在Client端,Socket类支持网络的底层通信。 Server机通过端口(总线I/O地址)提供面向Client机的服 务;Server机在它的几个不同端口分别同时提供几种不 同的服务。Client接入Server的某一端口,通过这个端口 提请Server机为其服务。规定:端口号01023供系统专 用。例如,HTTP协议在端口80,telnet协议在端口23。 端口102465535供应用程序使用。当Client程序和Server程序需要通信时,可以

12、用Socket类 建立套接字连接。套接字连接可想象为一个电话呼叫:最初是Client程序建立呼叫,Server程序监听;呼叫完成 后,任何一方都可以随时讲话。 双方实现通信有流式socket和数据报式socket两种可 选方式: 流式socket是有连接的通信,即TCP(Transmission Control Protocol):每次通信前建立连接,通信结束后 断开连接。特点是可以保证传输的正确性、可靠性。 数据报式socket是无连接的通信,即UDP(User Datagram Protocol):将欲传输的数据分成 小包,直接上网发 送。无需建立连接和拆除连接,速度快,但无可靠保 证。

13、流式socket在Client程序和Server程序间建立通信的 通道。每个socket可以进行读和写两种操作。对于 任一端,与对方的通信会话过程是:建立socket连接,获得输入/输出流,读数据/写数据 ,通信完成后关闭socket(拆除连接)。 利用socket的构造方法,可以在客户端建立到服务 器的套接字对象:Socket(String host,int port):host是服务器的 IP地址,port是端口号,这些是预先约定的。 例如,代码:trySocket mySocket = new Socket(“http:/” ,1860);catch(IOException e) 然后,

14、用getInputStream()方法获得输入流,用这个 输入流读取服务器放入“线路”的信息;用getOutputStream()方法获得输出流,用这个输出流 将信息写入“线路”。利用ServerSocket的构造方法可以在服务器建立接受客户套接字 的服务器套接字对象:ServerSocket(int port):指定端口号,创建一个 ServerSocket对象。端口号port要与客户呼叫的端口号相同。为 此,用以下形式代码:tryServerSocket serverSocket = new ServerSocket(1860);catch(IOException e) 服务器端程序在指定

15、的端口监听,当收到Client程序发出的服务 请求时,创建一个套接字对象与该端口对应的Client程序通信。 例如,执行上述建立服务器套接字对象的代码,确立了对象serverSocket后,就可能它使用accept()方法,得到Socket对象, 接收Client程序来自套接字mySocket的信息。如以下代码所示:trySocket sc = serverSocket.accept();/ac是一个Socket对象catch(IOException e) 要撤销服务,可以关闭Socket对象sc:sc.close(); C/S模式中的Client端应用程序。这是一个 Client端的流式Socket通信的简单实例,代 码说明Client端程序的编写方法。例中, Client程序向服务器主机的端口4441提出请 求,连接建立后完成对服务器的读写。 与例10.3 Client端应用程序对应的Server端应 用程序。程序在4441端口监听,当检测到 有客户机请求时,产生一个内为“客户, 你好,我是服务器”的字符串输出到客户 端。Java程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号