书签 分享 收藏 举报 版权申诉 / 31
上传文档赚钱

类型Java网络的基本知识课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3372093
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:31
  • 大小:233.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java网络的基本知识课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 网络 基本知识 课件
    资源描述:

    1、1第11章Java网络的基本知识网络的基本知识n11.1使用使用URLn11.2读取读取URL中的资源中的资源n11.3显示显示URL资源中的资源中的html文件文件n11.4处理超链接处理超链接n11.5InetAdress类类n11.6套接字套接字n11.7 网络中的数据压缩与传输网络中的数据压缩与传输n11.8UDP数数 据据 报报n11.9广播数据报广播数据报 211.1 使用使用URLnURL类是对统一资源定位符(Uniform Resource Locator)的抽象,使用URL创建对象的应用程序称作客户端程序,一个URL对象存放着一个具体的资源的引用,表明客户要访问这个URL中的

    2、资源,利用URL对象可以获取URL中的资源。nURL对象通常包含最基本的三部分信息:协议、地址、资源。3URL的构造方法npublic URL(String spec)throws MalformedURLExceptiontry url=new URL(http:/);catch(MalformedURLException e)System.out.println(Bad URL:+url);4URL的构造方法npublic URL(String protocol,String host,String file)throws MalformedURLException5客户与服务器nWeb的

    3、客户/服务器体系结构的含义就是:客户需要某些类型的信息,而服务器提供客户所需要的信息。客户需要连接到服务器上,并向服务器请求信息而服务器则向客户发送信息,两者协同工作,各得其所。611.2 读取读取URL中的资源中的资源nURL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源。通过该输入流可以将服务器上的资源信息读入到客户端。711.3 显示显示URL资源中的资源中的html文件文件nJavax.swing包中的JEditorPane容器可以解释执行html文件,也就是说,如果你把html文件读入到JEditorPane,该ht

    4、ml文件就会被解释执行,显示在JEditorPane容器中,这样程序就看到了网页的运行效果。811.3 显示显示URL资源中的资源中的html文件文件nJEditorPane类的构造方法:public JEditorPane()public JEditorPane(URL initialpage)throws IOException public JEditorPane(String url)throws IOExceptionnJEditorPane的对象调用 public void setPage(URL page)throws IOException 方法可以显示新的URL中的资源。91

    5、1.4 处理超链接处理超链接n当JEditorPane对象调用setEditable方法将编辑属性设为false时,不仅可以显示网页的运行效果,而且用户如果单击网页中超链接还可以使得JEditorPane对象触发HyperlinkEvent事件。程序可以通过处理HyperlinkEvent事件,来显示新的URL资源。nJEditorPane对象调用addHyperlinkListener(HyperlinkEvent listener)方法获得监视器。监视器实现HyperlinkListener接口,该接口中的方法如下:void hyperlinkUpdate(HyperlinkEvent e

    6、)1011.5 InetAdress类类包中的InetAddress类对象含有一个Internet主机地址的域名和IP地址: getByName(String s);将一个域名或IP地址传递给该方法的参数s,获得一个InetAddress对象,该对象含有主机地址的域名和IP地址,该对象用如下格式表示它包含的信息: public String getHostName()获取InetAddress对象所含的域名 public String getHostAddress()获取InetAddress对象所含的IP地址132.获取本地机的地址n可以使用InetAddress类的静态方法 getLoca

    7、lHost();获得一个InetAddress对象,该对象含有本地机的域名和IP地址。1411.6 套接字套接字nIP地址标识Internet上的计算机,端口号标识正在计算机上运行的进程(程序)。n端口号与IP地址的组合得出一个网络套接字。端口号被规定为一个16位的整数065535。其中,01023被预先定义的服务通信占用,如telnet占用端口23,http占用端口80等。除非我们需要访问这些特定服务,否则,就应该使用102465535这些端口中的某一个进行通信,以免发生端口冲突。当两个程序需要通信时,它们可以通过使用Socket类建立套接字连接。15客户端的套接字对象客户端的套接字对象 n

    8、客户端的程序利用Socket类建立到服务器的套接字连接。nSocket的构造方法如下:Socket(String host,int port)try Socket mysocket=newSocket(“http:/192.168.0.78”,1880);catch(IOException e)16获取输入输出流n套接字连接mysocket建立后,mysocket可以使用方法getInputStream()获得一个输入流,然后用这个输入流读取服务器放入“线路”的信息。mysocket还可以使用方法getOutputStream()获得一个输出流,然后用这个输出流将信息写入“线路”。17服务器端

    9、的套接字对象n服务器必须建立一个等待接收客户的套接字的ServerSocket对象。ServerSocket的构造方法是:ServerSocket(int port)port是一个端口号。port必须和客户呼叫的端口号相同。例如:try ServerSocket server_socket=new ServerSocket(1880);catch(IOException e)n当服务器的ServerSocket对象server_socket建立后,就可以使用方法accept()接收客户的套接字连接呼叫。18服务器端的套接字对象n所谓“接收”客户的套接字连接就是accept()会返回一个和客户端

    10、Socket对象相连接的驻留在服务器端的Socket对象,服务器端的这个Socket对象sc使用方法getOutputStream()获得的输出流将指向客户端Socket对象mysocket使用方法getInputStream()获得的那个输入流;同样,服务器端的这个Socket对象sc使用方法getInputStream()获得的输入流将指向客户端Socket对象mysocket使用方法getOutputStream()获得的那个输出流。n注意:accept()方法会堵塞线程的继续执行,直到接收到客户的呼叫。19套接字连接示意图 20服务器端的套接字对象n连接建立后,服务器端的套接字对象调用

    11、getInetAddress()方法可以获取一个InetAddress对象,该对象含有客户端的IP地址和域名。同样,客户端的套接字对象调用getInetAddress()方法可以获取一个InetAddress对象,该对象含有服务器端的IP地址和域名。n双方通信完毕后,应使用close()方法关闭套接字连接。n注意:ServerSocket对象可以调用setSoTimeout(int timeout)方法设置超时值,当对象调用accept()方法堵塞的时间一旦超过timeout时,将触发SocketTimeoutException。21 把套接字连接放在一个线程中n套接字连接中涉及到输入流和输出

    12、流操作,为了不影响我们做其它的事情,我们应把套接字连接放在一个单独的线程中去进行。另外,服务器端收到一个客户的套接字后,就应该启动一个专门为该客户服务的线程。2211.7 网络中的数据压缩与传输网络中的数据压缩与传输 n当使用套接字进行网络通信时,可以使用ZipOutputStream流进行数据压缩,将套接字返回的输出流作为ZipOutputStream流的底层流,然后ZipOutputStream流out将数据压缩到底层流发送到目的地。使用ZipOutputStream类可以将若干个文件压缩到底层流发送到目的地。首先使用ZipOutputStream类的构造方法 public ZipOutp

    13、utStream(OutputStream out)创建一个对象,该对象以套接字返回的输出流作为目的地,即作为该流的底层流。例如:2311.7 网络中的数据压缩与传输网络中的数据压缩与传输 ZipOutputStream out=new ZipOutputStream(socket.getOutputStream();再让out调用:public void putNextEntry(ZipEntry e)方法确定向底层流写入下一个文件的位置,例如:out.putNextEntry(new ZipEntry(“A.txt”);然后out对象调用write方法将文件A.txt压缩后写入到底层流中。

    14、2411.7 网络中的数据压缩与传输网络中的数据压缩与传输 n数据接收方对应地使用ZipInputStream类创建对象,该对象以套接字获取的输入流作为源,即作为该流的底层流,例如:ZipIutputStream out=new ZipIutputStream(socket.getIutputStream();然后让in找到发送方写入到底层流中下一个文件,例如:ZipEntry zipEntry=in.getNextEntry();那么,in调用read方法可以读取(解压)找到的该文件。2511.8 UDP数数 据据 报报n基于UDP的通信和基于TCP的通信不同,基于UDP的信息传递更快,但不

    15、提供可靠性保证。也就是说,数据在传输时,用户无法知道数据能否正确到达目的地主机,也不能确定数据到达目的地的顺序是否和发送的顺序相同。n 基于UDP通信的基本模式是:(1)将数据打包,称为数据包(好比将信件装入信封一样),然后将数据包发往目的地。(2)接受别人发来的数据包(好比接收信封一样),然后查看数据包中的内容。261发送数据包发送数据包 n(1)首先用DatagramPacket类将数据打包。用DatagramPacket的构造方法创建待发送的数据包:DatagramPacket(byte data,int length,InetAddtress address,int port):n使用

    16、该构造方法创建的数据包对象具有下列两个性质:1.含有data数组指定的数据。2.该数据包将发送到地址是address,端口号是port的主机上。271发送数据包发送数据包 n例如:byte data=“近来好吗?”.getByte();InetAddress address=InetAddress.getName();DatagramPacket data_pack=new DatagramPacket(data,data.length,address,980);nDatagramPacket(byte data,int offset,int length,InetAddtress addre

    17、ss,int port):使用该构造方法创建的数据包对象含有数组data从offset开始指定长度的数据,该数据包将发送到地址是address,端口号是port的主机上。281发送数据包发送数据包 n(2)然后用DatagramSocket类的不带参数的构造方法DatagramSocket()创建一个对象,该对象负责发送数据包。例如:DatagramSocket mail_out=new DatagramSocket();mail_out.send(data_pack);292接收数据包接收数据包n用 DatagramSocket类另一个构造方法:DatagramSocket(int port

    18、)创建一个对象,其中的参数必须和待接收的数据包的端口号相同。nDatagramSocket对象使用方法receive(DatagramPacket pack)接收数据包。该方法有一个数据包参数pack,方法receive把收到的数据包传递给该参数。因此必须预备一个数据包以便收取数据包。这时需使用 DatagramPacket类的另外一个构造方法 DatagramPacket(bytedata,int length)创建一个数据包,用于接收数据包,例如:302接收数据包接收数据包 byte data=new byte100;int length=90;DatagramPacket pack=ne

    19、w DatagramPacket(data,length);mail_in.receive(pack);该数据包pack将接收长度是length的数据放入data。3111.9 广播数据报广播数据报n广播数据报涉及到地址和端口。Internet的地址是a.b.c.d的形式。当a小于128,那么b.c.d就用来表示主机,这类地址称做A类地址。如果a大于等于128并且小于192,则a.b表示网络地址,而c.d表示主机地址,这类地址称做B类地址。如果a大于等于192,则网络地址是a.b.c,d表示主机地址,这类地址称做C类地址。224.0.0.0224.255.255.255是保留地址,称做D类地址。n要广播或接收广播的主机都必须加入到同一个D类地址。一个D类地址也称做一个组播地址,D类地址并不代表某个特定主机的位置,一个具有A、B或C类地址的主机要广播数据或接收广播,都必须加入到同一个D类地址。加入到同一个组播地址的主机可以在某个端口上广播信息,也可以在某个端口号上接收信息。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java网络的基本知识课件.ppt
    链接地址:https://www.163wenku.com/p-3372093.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库