当前位置:文档之家 > Java网络编程 (4)

Java网络编程 (4)

Java网络编程(4)

作者:刘晓华发文时间:2004.11.22

Datagram套接字

Datagram(数据报)是一种尽力而为的传送数据的方式,它只是把数据的目的地记录在数据包中,然后就直接放在网络上,系统不保证数据是否能安全送到,或者什么时候可以送到,也就是说它并不保证传送质量。

1 UDP套接字

数据报(Datagram)是网络层数据单元在介质上传输信息的一种逻辑分组格式,它是一种在网络中传播的、独立的、自身包含地址信息的消息,它能否到达目的地、到达的时间、到达时内容是否会变化不能准确地知道。它的通信双方是不需要建立连接的,对于一些不需要很高质量的应用程序来说,数据报通信是一个非常好的选择。还有就是对实时性要求很高的情况,比如在实时音频和视频应用中,数据包的丢失和位置错乱是静态的,是可以被人们所忍受的,但是如果在数据包位置错乱或丢失时要求数据包重传,就是用户所不能忍受的,这时就可以利用UDP协议传输数据包。在Java的http://www.doczj.com/doc/8168d821dd36a32d737581d2.html 包中有两个类DatagramSocket和DatagramPacket,为应用程序中采用数据报通信方式进行网络通信。

使用数据包方式首先将数据打包,http://www.doczj.com/doc/8168d821dd36a32d737581d2.html 包中的DategramPacket类用来创建数据包。数据包有两种,一种用来传递数据包,该数据包有要传递到的目的地址;另一种数据包用来接收传递过来的数据包中的数据。要创建接收的数据包,通过DatagramPackett 类的方法构造:

public DatagramPacket(byte ibuft[],int ilength)

public DatagramPacket( byte ibuft[],int offset ,int ilength)

ibuf[]为接受数据包的存储数据的缓冲区的长度,ilength为从传递过来的数据包中读取的字节数。当采用第一种构造方法时,接收到的数据从ibuft[0]开始存放,直到整个数据包接收完毕或者将ilength的字节写入ibuft为止。采用第二种构造方法时,接收到的数据从ibuft[of
fset]开始存放。如果数据包长度超出了ilength,则触发IllegalArgument-Exception。不过这是RuntimeException,不需要用户代码捕获。示范代码如下:

ibuf[]为接受数据包的存储数据的缓冲区的长度,ilength为从传递过来的数据包中读取的字节数。当采用第一种构造方法时,接收到的数据从ibuft[0]开始存放,直到整个数据包接收完毕或者将ilength的字节写入ibuft为止。采用第二种构造方法时,接收到的数据从ibuft[offset]开始存放。如果数据包长度超出了ilength,则触发IllegalArgument-Exception。不过这是RuntimeException,不需要用户代码捕获。示范代码如下:

byte[ ] buffer=new byte[8912];

DatagramPacket datap=new DatagramPacket(buffer ,buffer.length( ));

创建发送数据包的构造方法为:

public DatagramPacket(byt ibuf[],int ilength,InetAddrss iaddr,int port)

public DatagramPacket(byt ibuf[],int offset , int ilength,InetAddrss iaddr,int port)

下载Word文档免费下载:

Java网络编程 (4)下载

(共15页)

Java网络编程 (4)

Java 网络编程 (4)作者:刘晓华 发文时间:2004.11.22 Datagram 套接字 Datagram(数据报)是一种尽力而为的传送数据的方式,它只是把数据的目的地记录 在数据包中...

实验四java网络编程与文件IO

实验四java网络编程与文件IO_计算机软件及应用_IT/计算机_专业资料。实验四一.实验目的 网络编程与文件 IO 1. 学习编写基于 Socket 通信与本地文件 IO 的程序。...

第四章_Java网络编程技术

本章将介绍Java网络通信原理,重点介绍4个重要的类:URL、 Socket、InetAddress、DatagramSocket,讲解它们在网络 编程中的重要作用,详细讨论与之相关的类及其使用方法,...

Java网络编程精解讲义4

Java网络编程精解讲义4 - Java 网络编程精解 讲义,由于拿来就是分散的,没办法,怕麻烦的可以给我发邮件,我看到后给你们一起发,另还有所有源码,需要的在邮件中...

JAVA网络编程实验指导书

JAVA网络编程实验指导书 - 广州大学计算机科学与教育软件学院 2014 年 7 月 第 1 页共 12 页 目录 实验一:UDP 套接字编程(4 学时) 实验二:TCP 套接字...

第十四讲 java网络编程

Java网络编程(四)Http与Https相关总结(雷惊风) - Http 与 Https 相关总结 一. 概念 1. Http:Http 英文全称为 Hypertext Transfer Pr...

Java网络编程(四)Http与Https相关总结(雷惊风)

Java(网络编程) - 第十一章 网络编程 11.1 网络编程的相关概念 11.2 Java网络编程的支持 对网络编程的支持 11.3 URL及应用 及应用 11.4 InetAddres...

Java(网络编程)

java 网络编程技术 - 返回总目录 第9章 网络编程技术 章 教学内容 9.1网络技术基础 9.2使用URL类 9.3使用InetAddress类 9.4TCP和UDP Socket编程技...