欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java语言网络编程.ppt

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

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

    java语言网络编程.ppt

    1,Java网络编程,2,Java与网络,Java语言取得成功的领域之一就是网络(其他语言)数页代码-(Java)一条语句TCP/IP(传输控制协议/网间协议)是internet的主要协议,定义了计算机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层).大多数基于internet的应用程序被看作TCP/IP协议的上一层.如:ftp,http,smtp,pop3,telnet,nntp等IP地址:TCP/IP网络中的每台计算机都有唯一的地址-IP地址.在Java中,有一个用来存储internet地址的类叫InetAddress.,3,网络层次,4层网络结构:,4,传输层的两个基本协议,1 TCP协议:确保以发送时的顺序接受,丢包重新传递,数据对于连接太快TCP会调整速度等2UDP协议:允许接受方检测被破坏的包,不保证这些包正确的顺序传输。实时的音频或视频应用程序经常使用。如果UDP有纠错功能一般由应用层来实现,如TFTP等。UDP本身没有此功能,5,Java网络编程,Java的网络编程是建立在传输层之上的,我们可以创建自己的应用层协议。Java仅支持TCP和UDP。(ICMP不支持)Java已经给我们提供好了基于传输层协议的类(Stream Socket和 Datagram Socket)Java不能直接发IP数据包,6,TCP协议的实现,Socket是实现TCP协议的基本工具,Socket对程序员掩盖了网络底层实现的细节。如:纠错,重传,网络地址等Socket是网络上运行的程序之间双向通信链路的最后终结点IP与端口的组合得出一个套接字,可以完全分辨internet上运行的程序,7,Socket概念,端口号:TCP/IP协议为每种服务定义了一个端口,当一台计算机上运行不同服务器程序时,根据端口号不同提供相应的服务.端口号不是计算机上的物理连接器,它只是具有软件意义的假想端口,8,Socket的功能,1连接远程机器2发送数据3接受数据4关闭连接5绑定端口6监听入站数据7在所绑定得端口上接受来自远程的连接,9,Socket类,Socket类用代码通过主机操作系统的本地TCP栈进行通信。Socket为用户提供的接口是流。,10,Socket类,11,Socket类(续),程序员只需把传输内容转化为流,12,客户端Socket,构造函数:public Socket(String host,int port)throws unknownHostException,IOExceptionSocket socket=new Socket(“time.nist.gov”,80);含义:1 创建一个socket对象2尝试连接主机主机名不存在或服务器没运行unknownHostException其他原因抛:IOException,13,客户端Socket(续),14,时间协议的使用,使用Socket完成一些应用层的协议。,15,时间协议的使用,16,客户端Socket(续),Socket使用之后要注意关掉.一般来说socket确实会在两个流的一个关闭后或在被垃圾回收时自动关闭。但是对于敏感的程序,在垃圾回收介入之前,系统会很快到达能打开的socket上限。尤其是跟很多硬件设备打交道的软件系统。,17,客户端Socket(续),18,半关闭Socket,close()方法同时关闭Socket的输入和输出但JDK提供了shutdownInput()和shutdownOutput的方法,19,Socket异常,BindException没有权限使用Socket,想使用的端口被别的应用占用ConnectException主机忙或没有监听该端口的进程NoRouteHostException表示连接超时ProtocolException表示网络接受的数据违反TCP/IP规范,20,ServerSocket,服务器Socket等待连接而客户端Socket发起连接。一旦ServerSocket建立起来连接,服务器就是用一个正常的Socket对客户端发送数据。,21,ServerSocket基本流程,22,ServerSocket的构造函数,构造函数:public ServerSocket(int port)throws BindException,IOExceptionServerSocket socket=new ServerSocket(80);含义:创建一个server socket对象,服务的端口是80,如果port设为0或者null Java会随机选一个未占用的port如果端口已经被其他应用程序占用抛出BindException,23,ServerSocket的构造函数(续),public ServerSocket(int port,int queueLength)throws BindException,IOExceptionQueue表示入站连接请求队列的长度,这个长度必须小于操作系统所允许的最大长度public ServerSocket()throws IOException没有端口创建是没有意义的,因为客户端不知道如何连接过去ServerSocket ss=new ServerSocket();SocketAddress http=new InetSocketAddress(80);ss.bind(http);,24,ServerSocket的监听方法,accept()监听客户端的连接。在未连接的时候accept()是阻塞的,他会停止执行流并等待,25,简单的日期时间服务器,26,UDP的实现,UDP的实现类DatagramPacket和DatagramSocket.DatagramPacket的作用:将应用层的数据字节准变为UDP的传输单位datagram,27,UDP的实现(续),DatagramSocket与TCP的Socket不同,UDP没有连接的概念,没有TCP那样的服务器Socket和客户端Socket的概念。DatagramSocket既可以发又可以收,可以面对多个DatagramSocket进行收发,不像TCP协议中的1 on 1的关系,服务器没有必要创建Socket与客户端Socket通讯。,28,TCP通讯与UDP通讯对比,29,TCP通讯与UDP通讯对比,30,DatagramPacket类,DaragramPacket转化成的Datagram已经与IP层的数据包非常接近,包含了目标地址而TCP的数据片需要Socket告诉其目标地址,然后组成IP数据包。,31,DatagramPacket类,接受和发送数据包的构造函数是不同的:1 接受数据包:public DatagramPacket(byte buffer,int length)两个参数1 byte buffer表示接受数据包的数组,length表示这个数组的长度。2发送数据包:public DatagramPacket(byte data,int length,InetAddress destination,int port)除了包括接受的参数外还包括目标地址和端口,32,DatagramPacket类(续),创建一个DatagramPacket:,33,DatagramSocket类,与DatagramPacket类似发送与接受Socket只是构造函数不相同发送Socket对象DatagramSocket client=new DatagramSocket()由于发送无需关心发送端口所以操作系统会自动分配一个端口发送时服务器的端口已经写在了DatagramPacket中了接受Socket对象DatagramSocket server=new DatagramSocket(port)由于需要监听客户端Socket所以必须指定port,34,DatagramSocket类(续),35,DatagramSocket类(续),36,DatagramSocket类(续),DatagramSocket的对象用完之后也是要关闭,如果等到垃圾回收关闭,有可能会造占满所有允许的Socket数。TCP的Socket和UDP的Socket可以共用一个端口两种协议是毫不相干的且端口也只是个逻辑概念,37,组播Socket,与传统传播的区别:,38,组播的使用,采用MulticastSocket用法相近,但多了4个动作:1加入组播组2向组播组发送数据3接受组播组的数据4离开组播组,39,组播接受实例:,40,有用的工具类InetAddress类,Java对于IP地址的高级表示。它包含了主机名和IP地址,我们知道了其中一个信息可以得到另一个信息。3个构造函数:1 public static InetAddress getByName(String hostName)throws UnknownHostException2 public static InetAddress getAllByName(String hostName)throws UnknownHostException,41,InetAddress类(续),public static InetAddress getLocalhost(String hostName)throws UnknownHostException通过DNS得到IP地址和hostname的转换,42,InetAddress类应用,

    注意事项

    本文(java语言网络编程.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开