UDP-API

DatagramSocket

用于发送和接收UDP的类,发送或接收一个UDP的包。
UDP是没有客户端与服务器端的概念,DatagramSocket即是你的服务端又是你的客户端。
构造函数:

  1. DatagramSocket() 创建简单实例,不指定IP 和 端口,用它来发送UDP时,会往本机的随机的一个端口发数据。
  2. DatagramSocket(int port) 监听固定端口,此端口时接收数据的端口
  3. DatagramSocket(int port,InetAddress localAddr) 监听固定端口固定IP

DatagramSocket 方法

  1. receive(DatagramPacket d) ; 接收一个UDP, DatagramPacket是UDP报文封装类。
  2. send(DatagramPacket d); 发送一个UDP
  3. setSoTimeout(int timeout); 设置监听或者发送超时时间
  4. close(); 释放资源

DatagramPacket

用于处理报文,将byte数组、目标端口等包装成报文,或者将报文拆解成byte数组。是UDP的发送实体也是接收实体。

  1. DatagramPacket(byte[] buf,int offset,int length,InetAddress address,int port) ; buf 传输数据, offset、length有效区间 ,address目标地址,port目标端口。发送时有效。
  2. DatagramPacket(byte[] buf,int offset,int length,SocketAddress address); SocketAddress相当于InetAddress+port的封装

DatagramPacket方法

  1. setData(byte[] buf,int offset,int length); 当构造函数选无参时,可以用DatagramPacket.setData(buf,offset,length);来初始化
  2. setData(byte[] buf);默认从0开始到buf结束
  3. setLength(int length) 设置buf有效长度
  4. setAddress(InetAddress iadder) 、 setPort(int port) 、setSocketAddress(SocketAddress address),SocketAddress是InetAddress+port
  5. getData()、getLength()、getOffset()、getAddress、getPort()、getSocketAddress()
    set…仅在发送的时候起作用,在接收时系统会解析出ip 、 port然后set进InetAddress、port我们get 就可以知道是哪个电脑哪个端口发来的消息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值