UDP主要API详解

1. DatagramSocket

  • 用于接收与发送UDP的类
  • 负责发送一个UDP包或接收UDP包
  • 不同于TCP,UDP并没有合并到Socket API中(无服务器和客户端的区别)
  • DatagramSocket() 创建简单实例,不指定端口和IP
  • DatagramSocket(int port) 创建监听固定端口的实例(接收数据的端口)
  • DatagramSocket(int port, InetAddress localAddr) 创建监听固定端口指定IP的实例(计算机存在多个IP地址时可以使用,只监听某一固定IP的数据)
  • receive(DatagramPacket d) 接收UDP封装包
  • send(DatagramPacket d) 发送UDP封装包
  • sendSoTimeout(int timeout) 设置超时时间,毫秒
  • close() 关闭,释放资源

2. DatagramPacket

  • 用于处理报文
  • 将byte数组、目标端口等数据包装成报文或将报文解析为byte数组
  • 是DUP发送实体,也是接收实体
  • DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) 前3个参数指定buf的使用区间,后2个指定目标机器与端口(仅发送数据时指定,接收时计算机自动判别)
  • DatagramPacket(byte[] buf, int length, SocketAddress address) SocketAddress相当于InetAddress+Port
  • setData(byte[] buf, int offset, int length)
  • setData(byte[] buf)
  • setLength(int length)  
  • getData()、getOffset()、getLength()
  • setAddress(InetAddress iadde)、setPort(int iport)
  • getAddress()、getPort()
  • setSocketAddress(SocketAddress address)
  • getSocketAddress() 可无参构造,后使用以上函数进行赋值和取值操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值