PacketPeerUDP
继承
简要描述
UDP数据包对等体。
描述
UDP数据包对等体。可用于发送原始UDP数据包以及Variant。
方法
返回值类型 | 方法名称 |
---|---|
void | close() |
String | get_packet_ip() const |
int | get_packet_port() const |
bool | is_listening() const |
int | join_multicast_group(multicast_address: String, interface_name: String) |
int | leave_multicast_group(multicast_address: String, interface_name: String) |
int | listen(port: int, bind_address: String = "*", recv_buf_size: int = 65536) |
void | set_broadcast_enabled(enabled: bool) |
int | set_dest_address(host: String, port: int) |
int | wait() |
方法说明
- close close()
关闭PacketPeerUDP当前正在监听的UDP套接字。
- get_packet_ip get_packet_ip() const
返回发送最后一个数据包的远程对等方的IP(已通过PacketPeer.get_packet或PacketPeer.get_var接收到)。
- get_packet_port get_packet_port() const
返回发送最后一个数据包的远程对等方的端口(已通过PacketPeer.get_packet或PacketPeer.get_var接收到)。
- is_listening is_listening() const
返回此PacketPeerUDP是否正在侦听。
- join_multicast_group join_multicast_group(multicast_address: String, interface_name: String)
使用由interface_name
标识的接口加入由multicast_address
指定的组播组。
您可以通过多个接口加入同一组播组。
注意:某些Android设备可能需要CHANGE_WIFI_MULTICAST_STATE
权限,组播才能工作。
- leave_multicast_group leave_multicast_group(multicast_address: String, interface_name: String)
从multicast_address
指定的多播组中删除由interface_name
标识的接口。
- listen listen(port: int, bind_address: String = "*", recv_buf_size: int = 65536)
使此PacketPeerUDP侦听绑定到bind_address
的port
,缓冲区大小为recv_buf_size
。
如果bind_address
设置为“ *”
(默认值),则对等方将侦听所有可用地址(IPv4和IPv6)。
如果bind_address
设置为“ 0.0.0.0”
(对于IPv4)或"::"
(对于 IPv6),则对等方将侦听与该IP类型匹配的所有可用地址
如果bind_address
设置为任何有效地址(例如"192.168.1.101"
, "::1"
等),对等方将仅在具有该地址的接口上侦听(如果不存在具有给定地址的接口,则失败)。
- set_broadcast_enabled set_broadcast_enabled(enabled: bool)
启用或禁用广播数据包的发送(例如set_dest_address("255.255.255.255", 4343)
。默认情况下,此选项处于禁用状态。
注意:某些Android设备可能需要CHANGE_WIFI_MULTICAST_STATE
权限,并且也要启用此选项才能接收广播数据包。
- set_dest_address set_dest_address(host: String, port: int)
设置发送数据包和变量的目标地址和端口。
注意:必须先启用set_broadcast_enabled,然后再将数据包发送到广播地址(例如255.255.255.255
)。
- wait wait()
等待数据包到达侦听端口。参见listen。