UDP程序设计基础

        用户数据报协议( UDP ) 是网络信息传输的另一种形式、 基于 UDP 的通信和基于 TCP 的通信不同,基于 UDP 的信息传递更快,但不提高可靠的保证。 使用 UDP 传递数据时,用户无法知道数据是否正确地到达主机,也不能确定到达目的地的顺序是否和发送的数据是否相同,虽然 UDP 是一种不可靠的协议,但如果需要较快地传输信息,并能容忍小的错误,可以考虑使用 UDP 。

       基于 UDP 通信的基本模式如下:
              将数据打包( 称为数据包 ),然后将数据包发往目的地。
              接收别人发来的数据包,然后查看数据包。

        下面时总结的 UDP 程序的步骤
              发送数据包:
( 1 ) 使用 DatagramSocket( ) 创建一个数据包套接字。
( 2 ) 使用 DatagramSocket( byte[ ] buf,int length,InetAddress address,int port ) 创建要发送的数据包。
( 3 ) 使用 DatagramSocket类的 send ( ) 方法发送数据包.

              接受数据包:
( 1 ) 使用 DatagramSocket( int port ) 创建数据包套接字,绑定到指定的端口。
( 2 ) 使用 DatagramSocket( byte[ ] buf,int length) 创建字节数组来接受数据包。
( 3 ) 使用 DatagramSocket 类的 receive( ) 方法接受 UDP 包。


DatagramPacket 类

java.net 包的 DatagramPacket 类用来表示数据包。 DatagramPacket 类的构造函数有:
DatagramPacket( byte[ ] buf, int length )
DatagramPacket( byte[ ] buf,int length,InetAddress addresss,int port )

第一种构造函数创建 DatagramPacket 对象,指定了数据包的内存空间和大小。第二种构造函数不仅指定了数据包的内存空间和大小,还指定了了数据包的目标地址和端口。在发生数据时,必须指定收方的 Socket 地址和端口号,因此使用第二种构造函数可创建发送数据的 DatagramPacket 对象。


DatagramSocket 类

java.net 包中的 DatagramSocket 类用于表示发送和接受数据包的套接字。该类的构造函数有:
DatagramSocket( )
DatagramSocket( int port )
DatagramSocket( int port,inetAddress addr )

第一种构造函数创建 DatagramSocket 对象,构造数据报套接字并将其绑定到本地主机上任何可用的端口。第二种构造函数创建 DatagramSocket 对象,创建数据报套接字并将其绑定到本地主机上的指定端口。第三种构造函数创建 DatagramSocket 对象,创建数据报套接字并将其绑定到指定的本地地址。第三种构造函数适用于有多块网卡和多个 IP 地址的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值