欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    11+第11章+Java网络编程.ppt

    • 资源ID:70020921       资源大小:335.50KB        全文页数:25页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    11+第11章+Java网络编程.ppt

    第11章 Java网络编程 学习内容基于URL的高层次Java网络编程基于Socket的低层次Java网络编程11.1 基于URL的高层次Java网络编程一致资源定位器URLURL的组成 创建一个URL 解析一个URL 一致资源定位器URL URL(Uniform Resource Locator)是一致资源定位器的简称,它表示Internet上某一资源的地址。通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。URL是最为直观的一种网络定位方法。使用URL符合人们的语言习惯,容易记忆,所以应用十分广泛。而且在目前使用最为广泛的TCP/IP中对于URL中主机名的解析也是协议的一个标准,即所谓的域名解析服务。使用URL进行网络编程,不需要对协议本身有太多的了解,功能也比较弱,相对而言是比较简单的,所以在这里我们先介绍在Java中如何使用URL进行网络编程来引导读者入门。URL的组成 protocol:/resourceName协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等,资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。例如:http:/ 协议名:/机器名文件名http:/:80/Gamelan/network.html#BOTTOM 协议名:/机器名端口号文件名内部引用.创建一个URL为了表示URL,中实现了类URL。我们可以通过下面的构造方法来初始化一个URL对象:(1)public URL(String spec);通过一个表示URL地址的字符串可以构造一个URL对象。URL urlBase=new URL(http:/ URL(URL context,String spec);通过基URL和相对URL构造一个URL对象。URL net263=new URL(http:/ index263=new URL(net263,index.html)创建一个URL 续(3)public URL(String protocol,String host,String file);new URL(http,/pages/G.html);(4)public URL(String protocol,String host,int port,String file);URL gamelan=new URL(http,80,Pages/Gwork.html);解析一个URL 类URL所提供的方法:public String getProtocol()获取该URL的协议名。public String getHost()获取该URL的主机名。public int getPort()获取该URL的端口号,如果没有设置端口,返回-1。public String getFile()获取该URL的文件名。public String getRef()获取该URL在文件中的相对位置。public String getQuery()获取该URL的查询信息。public String getPath()获取该URL的路径public String getAuthority()获取该URL的权限信息public String getUserInfo()获得使用者的信息public String getRef()获得该URL的锚示例:public class ParseURL public static void main(String args)throws Exception URL Aurl=new URL(http:/:80/docs/books/);URL tuto=new URL(Aurl,tutorial.intro.html#DOWNLOADING);System.out.println(protocol=+tuto.getProtocol();System.out.println(host=+tuto.getHost();System.out.println(filename=+tuto.getFile();System.out.println(port=+tuto.getPort();System.out.println(ref=+tuto.getRef();System.out.println(query=+tuto.getQuery();System.out.println(path=+tuto.getPath();System.out.println(UserInfo=+tuto.getUserInfo();System.out.println(Authority=+tuto.getAuthority();protocol=httphost=filename=/docs/books/tutorial.intro.htmlport=80ref=DOWNLOADINGquery=nullpath=/docs/books/tutorial.intro.htmlUserInfo=nullAuthority=:80结果从URL读取WWW网络资源 示例:public class URLReader public static void main(String args)throws Exception/声明抛出所有例外URL tirc=new URL(http:/127.0.0.1:8080/);/构建一URL对象BufferedReader in=new BufferedReader(new InputStreamReader(tirc.openStream();/使用openStream得到一输入流并由此构造一个BufferedReader对象String inputLine;while(inputLine=in.readLine()!=null)/从输入流不断的读数据,直到读完为止System.out.println(inputLine);/把读入的数据打印到屏幕上in.close();/关闭输入流Resin®Default Home PageResin®Default Home PageThis is the default page for the Resin web server.结果11.2 基于Socket的低层次Java网络编程 Socket通讯Socket通讯的一般过程 创建Socket 客户端的Socket 服务器端的ServerSocket 打开输入/出流 关闭Socket 简单的Client/Server程序设计TCP与UDP的区别:TCP基于连接而UDP是无连接;TCP对系统资源的要求较多,而UDP少;UDP程序结构较简单;流模式与数据报模式:TCP保证数据正确性,UDP可能丢包。TCP保证数据顺序,UDP不保证。Socket通讯 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定。Socket编程是低层次网络编程并不等于它功能不强大,恰恰相反,正因为层次低,Socket编程比基于URL的网络编程提供了更强大的功能和更灵活的控制,但是却要更复杂一些。Socket通讯的一般过程Socket通讯的一般过程 续使用Socket进行Client/Server程序设计的一般连接过程是这样的:Server端Listen(监听)某个端口是否有连接请求,Client端向Server端发出Connect(连接)请求,Server端向Client端发回Accept(接受)消息。一个连接就建立起来了。Server端和Client端都可以通过Send,Write等方法与对方通信。Socket通讯的一般过程 续对于一个功能齐全的Socket,都要包含以下基本结构,其工作过程包含以下四个基本的步骤:(1)创建Socket;(2)打开连接到Socket的输入/出流;(3)按照一定的协议对Socket进行读/写操作;(4)关闭Socket.第三步是程序员用来调用Socket和实现程序功能的关键步骤,其他三步在各种程序中基本相同。创建Socket java在包中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务端。构造方法如下:Socket(InetAddress address,int port);Socket(String host,int prot);ServerSocket(int port);其中address、host和port分别是双向连接中另一方的IP地址、主机名和端口号。例如:Socket client=new Socket(127.0.0.1.,80);ServerSocket server=new ServerSocket(80);客户端的Socket 下面是一个典型的创建客户端Socket的过程:trySocket socket=new Socket(127.0.0.1,4700);/127.0.0.1是TCP/IP协议中默认的本机地址catch(IOException e)System.out.println(Error:+e);服务器端的ServerSocket 下面是一个典型的创建Server端ServerSocket的过程:ServerSocket server=null;try server=new ServerSocket(4700);/创建一个ServerSocket在端口4700监听客户请求catch(IOException e)System.out.println(can not listen to:+e);Socket socket=null;try socket=server.accept();/accept()是一个阻塞的方法,一旦有客户请求,它就会返回一个Socket对象用于同、客户进行交互catch(IOException e)System.out.println(Error:+e);打开输入/出流 类Socket提供了方法getInputStream()和getOutStream()来得到对应的输入/输出流以进行读/写操作,这两个方法分别返回InputStream和OutputSteam类对象。为了便于读/写数据,我们可以在返回的输入/输出流对象上建立过滤流,如DataInputStream、DataOutputStream或PrintStream类对象,对于文本方式流对象,可以采用InputStreamReader和OutputStreamWriter、PrintWirter等处理。打开输入/出流 续例如:PrintStream os=new PrintStream(new BufferedOutputStreem(socket.getOutputStream();DataInputStream is=new DataInputStream(socket.getInputStream();PrintWriter out=new PrintWriter(socket.getOutStream(),true);BufferedReader in=new ButfferedReader(new InputSteramReader(Socket.getInputStream();关闭Socket 每一个Socket存在时,都将占用一定的资源,在Socket对象使用完毕时,要其关闭。在关闭Socket之前,应将与Socket相关的所有的输入/输出流全部关闭,以释放所有的资源。而且要注意关闭的顺序,与Socket相关的所有的输入/输出该首先关闭,然后再关闭Socket。os.close();is.close();socket.close();简单的Client/Server程序设计客户端程序示例请参照:TalkClient.java服务器端程序示例请参照:TalkServer.java

    注意事项

    本文(11+第11章+Java网络编程.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开