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

    【精品】Java实用教程第21讲网络编程精品ppt课件.ppt

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

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

    【精品】Java实用教程第21讲网络编程精品ppt课件.ppt

    Java实用教程第21讲网络编程互联上计算机之间的通信必须遵循一定的协议,目前最广泛的网络协议是TCP/IP协议,IP协议主要负责网络主机的定位,实现数据传输的路由选择。实际应用中使用域名地址,域名和IP之间的转换通过域名解析完成。网络传输层负责数据传输时的正确性,该层有两类典型的通信协议:TCP协议和UDP协议。(1)TCP:Transfer Control Protocol通过TCP协议传输,得到的是一个顺序的无差错的数据流使用TCP通信,发送方和接收方首先要建立socket连接,在客户/服务器通信中,服务方在某个端口提供服务,等待客户方的访问连接,建立连接后,双方就可以发送和接收数据了。(2)UDP:User Datagram ProtocolUDP是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地。因此能否到达目的地、到达目的地的时间及内容的正确性都不能保证,但UDP无需进行连接,传输效率高。如传输声音信号或视频信号等。包中提供了丰富的网络功能:(1)InetAddress类表示IP地址;(2)URL类封装了对资源的访问;(3)ServerSocket类和Socket类实现面向连接的网络通信;(4)DatagramPacket类和DatagrameSocket类实现数据报的收发21.1 InetAddress21.1 InetAddress类类因特网上用IP地址或域名标识主机,InetAddress对象封装了这两部分内容。InetAddress对象使用如下格式表示主机的信息: InetAddress getByName(String host):根据主机名InetAddress对象,使用该方法必须捕获UnknownHostException异常。String getFile():获取URL的文件名,它是带路径的文件标识;String getHost():获取URL的主机名;String getPath():取得URL的路径部分;int getPort():取得URL的端口号;URLConnection openConnection():返回代表与URL进行连接的URLConnection对象;InputStream openStream():打开与URL的连接,返回来自连接的输入流;Object getContent():获取URL的内容。21.3 URLConnection21.3 URLConnection类类URLConnection类可实现与URL资源双向通信。它代表应用程序和 URL 之间的通信链接。此类的实例可用于读取和写入此URL引用的资源。通常,创建一个到URL的连接需要几个步骤:(1)通过在URL上调用openConnection方法创建连接对象。(2)处理设置参数和一般请求属性。(3)使用connect方法建立到远程对象的实际连接,或者使用URL类的openConnection()方法建立实际连接。(4)远程对象变为可用。远程对象的头字段和内容变为可访问。21.4 Socket21.4 Socket通信通信Java提供了Socket类和ServerSocket类分别用于Client端和Server端的Socket通信,下面是分别对这两个类进行介绍。(1)Socket类构造方法:Socket(String,int):构造一个指定主机,指定端口号的Socket。Socket(InetAddress,int):构造一个指定Internet地址,指定端口号的Socket。(2)ServerSocket类 ServerSocket(int):创建绑定到特定端口的服务器套接字。ServerSocket(int,int):创建服务器套接字并将其绑定到指定的本地端口号,其中第二个参数是监听时间的长度。(3)建立连接与数据通信 首先,在服务器端创建一个ServerSocket对象,此对象通过执行accept()方法监听客户端连接,此时服务器端线程处于等待状态。然后在客户端构造Socket,与某服务器的指定端口进行连接。服务器监听到连接请求后,就可在两者之间建立连接,连接建立后,就可以取得相应的输入、输出流进行通信。在典型的服务器中,我们希望同时能处理多个客户的请求。解决这个问题的关键就是多线程处理机制。最基本的方法是在服务器(程序)里创建单个ServerSocket,并调用accept()来等候一个新连接。一旦accept()返回,我们就取得结果获得的Socket,并用它新建一个线程,令其只为那个特定的客户服务。然后再调用accept(),等候下一次新的连接请求。21.5 21.5 无连接的数据报无连接的数据报数据报是一种无连接的通信方式,它的速度比较快,但是由于不建立连接,不能保证所有数据都能送到目的地,一般用于传送非关键性的数据。(1)DatagramPacket类此类是进行数据通信的基本单位,包含需要传送的数据、数据报的长度、IP地址和端口号等信息。其构造方法如下:DatagramPacket(bytebuf,intlength):构造 DatagramPacket,用来接收长度为 length 的数据包。DatagramPacket(bytebuf,intlength,InetAddressaddress,intport):构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。DatagramPacket(bytebuf,intoffset,intlength):构造 DatagramPacket,用来接收长度为 length 的包,在缓冲区中指定了偏移量。DatagramPacket(bytebuf,intoffset,intlength,InetAddressaddress,intport):构造数据报包,用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号。DatagramPacket(bytebuf,intoffset,intlength,SocketAddressaddress):构造数据报包,用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号。DatagramPacket(bytebuf,intlength,SocketAddressaddress):构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。DatagramPacket类中的常用函数有:void setData(byte buf):设置数据缓冲区。byte getData():返回数据缓冲区。getLength():返回发送或接收数据报的长度。(2)DatagramSocket类DatagramSocket类是用来发送或接收数据报的Socket,其构造方法如下:DatagramSocket():构造一个用于发送的DatagramSocket。DatagramSocket(intport):构造一个用于接收的DatagramSocket,参数为接收端口号。(3)发送和接收过程下面代码给出了数据报接收和发送的编程要点,接收端的IP地址是192.168.0.3,端口号是80,发送的数据在缓冲区message中,长度为200。接收端的程序:byte inbuffer=new byte1024;/设置缓冲区DatagramPacket inpacket=new DatagramPacket(inbuffer,inbuffer.length);DatagramSocket insocket=new DatagramSocket(80);/设置端口号insocket.receive(inpacket);/接收数据报String s=new String(inbuffer,0,0,inpacket.getLength();/将接收的数据存入字符串。发送端程序:/message为存放发送数据的字节数组DatagramPacket outpacket=new DatagramPacket(message,200,192.168.0.3,80);DatagramSocket outsocket=new DatagramSocket();outsocket.send(outpacket);讲后练习讲后练习1、编写java程序,利用URL对象读取网络上文件的内容。2、编写程序实现:客户端(Client.java)向服务器(Server.java)端请求(请求是一句话,为一个String)。如果这句话的内容字符串是字符串“plain”的话,服务器仅将“Hello”字符串返回给用户。否则将用户的话加到当前目录的文本稳健Memo.txt中,并向用户返回“OK”。3、让(2)中的Server.java能并发的处理多用户,并编写程序模拟多个用户向服务器发送请求。4、用一个套接字(Socket)完成,由客户端指定一个服务器上的文件名,让服务器发回该文件的内容,或者提示文件不存在。5、编写程序,用面向连接的网络通信实现一个远程加法器;客户端向服务器发送两个数;服务器计算两个数的和,返回给客户端。分别写出客户端和服务器端的程序。

    注意事项

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

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




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

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

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

    收起
    展开