电子课件第11章网络编程_第1页
电子课件第11章网络编程_第2页
电子课件第11章网络编程_第3页
电子课件第11章网络编程_第4页
电子课件第11章网络编程_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章网络编程本节主要内容网络编程基础基于Socket的低层次Java网络编程基于URL的高层次Java网络编程一个简单的Socket通讯程序11.1网络编程基础计算机网络的定义11.1网络编程基础(con)网络体系结构ISOOSI参考模型该模型是国际标准化组织(ISO)为网络通信制定的协议,根据网络通信的功能要求,它把通信过程分为七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,每层都规定了该层完成的功能及相应的协议。1)物理层Physical 2)数据链路层DataLink 3)网络层Network 4)传输层Transport 5)会话层Senssion 6)表示

2、层Presentation 7)应用层Application 11.1网络编程基础(con)TCP/IP参考模型11.1网络编程基础(con)URI和URL1URI(Universal Resource Identifier)统一资源标识符常见的URI格式: :8042/over/there/index.dtb;type=animal?name=ferret#nosefoo代表某种协议, 代表主机名称,8042表示端口号,?name=ferret表示查询,#nose表示资源的内部的片段。 ,指向一个用户的邮箱。 ,URI指向一个资源的内部,这种URI以#结束,并跟着一个anchor标志,它表示

3、一个指向section_2的URI。file:/d:user,在windows中访问本机硬盘资源11.1网络编程基础(con)URI和URL(con)2URL(Uniform Resource Locator)统一资源定位符URL的一般格式为:protocol :/ hostname:port / path / ;parameters?query#fragmentURL的格式由下列三部分组成: 第一部分是协议(或称为服务方式); 第二部分是存有该资源的主机IP地址(有时也包括端口号); 第三部分是主机资源的具体地址。如目录和文件名等。其中,?query(查询):可选,用于给动态网页(如使用CG

4、I、ISAPI、 等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。fragment,信息片断,用于指定网络资源中的片断。 注意:从本质上来说URL是URI命名机制的一个子集11.1网络编程基础(con)端口和端口号端口在计算机编程上也就是Socket接口“ 端口的分类 1)公认端口(Well Known) 2)注册端口(Registered Ports) 3)动态和/或私有端口(Dynamic and/or Private Ports)TCP协议端口UDP协议端口常见端口11.2基于Socket的低层次Java网络编程网络地址InetAddress

5、 类 .InetAddress类是Java的IP地址封装类,此类表示互联网协议 (IP) 地址。它不需要用户了解如何实现地址的细节。staticInetAddressgetByName(Stringhost) 在给定主机名的情况下 确定主机的 IP 地址。staticInetAddress getAllByName(Stringhost) 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。staticInetAddressgetLocalHost() 返回本地主机。11.2基于Socket的低层次Java网络编程Socket通信在Internet上有很多这样的主机,

6、这些主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。1Java中的Socket概念Java中的Socket称为套接字,它是java中提供的TCP/IP的编程接口,用于描述IP地址和端口,是一个通信链的句柄。具体来说它是指在两台计算机上运行的两个程序之间的一个双向通信的连接点,而每一端称为一个Socket,它提供一种面向连接的可靠的数据传输方式,它能够保证发送的数据按照顺序无重复到达目的地。11.2基于Socket的低层次Java网络编程Socket通信(con)2Socket的通信机制对于一个功能齐全的Socket,

7、都要包含以下基本结构,其工作过程包含以下四个基本的步骤: 1) 创建Socket; 2) 打开连接到Socket的输入/出流;3) 按照一定的协议对Socket进行读/写操作;4) 关闭Socket.11.2基于Socket的低层次Java网络编程Socket通信(con)3Socket类与ServerSocket类java在包 中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类,使用很方便。其常用构造方法如下:Socket(InetAddress address, int port);Socket(String host, i

8、nt prot);Socket(SocketImpl impl)Socket(String host, int port, InetAddress localAddr, int localPort)Socket(InetAddress address, int port, InetAddress localAddr, int localPort)ServerSocket(int port);ServerSocket(int port, int backlog);ServerSocket(int port, int backlog, InetAddress bindAddr)11.2基于Sock

9、et的低层次Java网络编程Socket通信(con)4Tcp协议下的Socket通信示例程序11.3基于URL的高层次Java网络编程 URL类1) public URL (String spec);通过一个表示URL地址的字符串可以构造一个URL对象。2) public URL(URL context, String spec);通过基URL和相对URL构造一个URL对象。3) public URL(String protocol, String host, String file); 通过指定的 protocol 名称、host 名称和 file 名称创建 URL4) public UR

10、L(String protocol, String host, int port, String file); 通过指定 protocol、host、port 号和 file 创建 URL 对象注意:在完成URL对象的建立后,一个URL对象生成后,其属性是不能被改变的,但可以通过它给定的方法来获取这些属性。11.3基于URL的高层次Java网络编程 URLConnection类TryURL lut = new URL ( );URLConnectonn tc = lut.openConnection();catch(MalformedURLException e) /创建URL()对象失败catch (IOException e) /openConnection()失败创建一个到 URL 的连接需要几个步骤:1)通过在 URL 上调用 openConnection 方法创建连接对象。 2)处理设置参数和一般请求属性。 3)使用 connect 方法建立到远程对象的实际连接。 4)远程对象变为可用。远程对象的头字段和内容变为可访问。11.3基于URL的高层次Java网络编程 URL与Socket通信的区别 Socket通信方式是在服务器端运行通信程序,不停的监听客户端的连接请求,主动等待客户端的请求服务,当客户端提出请求时,马上连接并通信;而URL进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论