Java程序设计-14-网络编程.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14.3 基于UDP的网络编程 1 什么是Datagram DatagramPacket数据报包用来实现无连接包投递服务。每条报文仅根据该包中包含的信息从一台机器路由到另一台机器。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。不对包投递做出保证。 DatagramSocket DatagramSocket的构造方法  DatagramSocket(); DatagramSocket(int prot); DatagramSocket(int port, InetAddress laddr) DatagramSocket的作用 用于在程序之间建立传送数据报的通信连接,   DatagramPacket  DatagramPacket(byte buf[],int length);  DatagramPacket(byte buf[], int length, InetAddress addr, int port);  DatagramPacket(byte[] buf, int offset, int length);  DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port); DatagramPacket的构造方法 DatagramPacket的构造方法 DatagramPacket则用来表示一个数据报。 另外,DatagramPacket也可以被发送到多播组MulticastSocket,该主机和端口的所有预定接收者都将接收到消息。 14.3.2 通信过程 1 接信前的准备 在接收数据前,应该采用上面的第一种方法生成一个DatagramPacket对象,给出接收数据的缓冲区及其长度。然后调用DatagramSocket 的方法receive()等待数据报的到来,receive()将一直等待,直到收到一个数据报为止(这也是一种阻塞方式)。 DatagramPacket packet=new DatagramPacket(buf, 256); Socket.receive (packet); 2 发信前的准备 发送数据前,也要先生成一个新的DatagramPacket对象,这时要使用上面的第二种构造方法,在给出存放发送数据的缓冲区的同时,还要给出完整的目的地址,包括IP地址和端口号。发送数据是通过DatagramSocket的方法send()实现的,send()根据数据报的目的地址来寻径,以传递数据报。 DatagramPacket packet=new DatagramPacket(buf, length, address, port); Socket.send(packet); 3 拆信 当收到一封来信-数据报时,可以通过拆信获得信的内容、来信地址和端口信息。例如: //获得用于接收数据的缓冲区 public byte[] getData(); //返回发出数据报的某台机器的 IP 地址 public InetAddress getAddress(); //返回发出数据报的某台机器的端口 public int getPort(); 14.4 基于URL的网络编程 1 什么是URL? URL(Uniform Resource Locator)是一致资源定位器的简称,它表示Internet上某一资源的地址。 通过URL我们可以访问Internet上的各种网络资源,比如最常见的WWW,FTP站点。浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。 2 URL的组成 这是一个典型的URL组成。一个完整的URL包括: protocol://host[:port[/file]] 协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等。 host则指文件所在的主机服务器,如。 port则是提供该项服务的应用(如http、ftp等)所提供的访问端口,例如默认的http服务端口是80,可以省略,ftp服务的默认端口在23,也可以省略。 file特指一个在指定主机上的包括路径的文件名或文件内部的一个引用。例如: / 协议名://主机名 /home/welcome.html 协议名://机器名+文件名 :80/Gamelan/network.html#BOTTOM 协议名://机器名+端口号+文件名+内部引用。

文档评论(0)

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

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

1亿VIP精品文档

相关文档