第5章基于UDP协议的Socket通信.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于UDP协议的Socket通信 * 本章内容 UDP协议的基本概念 2. UDP数据报套接字DatagramSocket DatagramSocket的构造方法和主要方法 DatagramSocket的选项设置 UDP数据报DatagramPacket DatagramPacket的构造方法和主要方法 传递基本类型数据和对象 UDP协议通信基本过程 4. 组播的基本概念及实现 * UDP协议 用户数据报协议(UDP)是一种基本的、低延时的数据传输协议。 UDP的简单性不能保证数据传输的可靠性,但对另一些更复杂的、自身提供面向链接功能的应用却很适合。 UDP协议适合以下情况:转发路由表、数据交换、网络监控数据、网络电话应用等的交换。这些类型的交换不需要流控、应答、重排序或任何TCP提供的功能。 * UDP协议以数据报作为数据传输的载体。它是一个在网络上发送的独立信息,它的到达、到达时间以及内容本身等都不能得到保证。UDP协议无需在发送方和接收方建立连接,数据报在网上可以以任何可能的路径传往目的地(分组交换)。 基于UDP协议实现网络通信的类有三个: DatagramSocket DatagramPacket MulticastSocket UDP协议-数据报通信 邮局A 包裹A 包裹B 包裹C 邮局D 邮局B 邮局C * DatagramSocket public DatagramSocket() 创建数据报套接字并将其绑定到本地主机的匿名端口。 public DatagramSocket(int?port) ?创建数据报套接字并将其绑定到本地主机上的指定端口。 public DatagramSocket(int?port, InetAddress?laddr) 创建数据报套接字,将其绑定到指定的IP地址和端口。 public DatagramSocket(SocketAddress bindaddr) 创建数据报套接字,SocketAddress表示了要绑定的套接字地址。 注意:以上方法都将抛出例外SocketException。 * public void receive(DatagramPacket?p) throws IOException 此方法接收数据报包。当方法返回时,DatagramPacket 的缓冲区填充了接收的数据。此方法在接收到数据前一直阻塞。 public void send(DatagramPacket?p) throws IOException 此方法发送数据报包。DatagramPacket 包含的信息指示将要发送的数据、长度、远程主机的 IP 地址及其端口号。 抛出异常的可能性小,除非发送的数据报超过了底层网络所支持的数据报的大小。 Exception in thread “main” java.net.SocketException: The message is larger than the maximum supported by the underlying transport DatagramSocket接收和发送数据 * 用于接收数据的数据包 public DatagramPacket(byte[]?buf, int?length) 用来接收长度为 length 的数据包,放入buf字节数组中 public DatagramPacket(byte[]?buf, int?offset, int?length) 用来接收长度为 length 的数据包,在缓冲区中指定了偏移量。 (length=buf.length-offset) 用于发送数据的数据包 public DatagramPacket(byte[]?buf, int?length, InetAddress address, int?port) 用来将长度为 length 的数据报发送到指定主机上的指定端口号。 public DatagramPacket(byte[]?buf, int?offset, int?length, InetAddress?address, int?port) 用来将长度为 length,偏移量为 offset 的数据报发送到指定主机上

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档