跳到主要内容
版本:4.x

UDPSocket

一个 UDP Socket 实例,默认使用 IPv4 协议。

支持情况:

参考文档

方法​

bind​

绑定一个系统随机分配的可用端口,或绑定一个指定的端口号

支持情况:

参考文档

(port: number) => number
参数类型说明
portnumber指定要绑定的端口号,不传则返回系统随机分配的可用端口

示例代码​

const udp = Taro.createUDPSocket()
udp.close()

setTTL​

设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数

支持情况:

参考文档

(ttl: number) => void
参数类型说明
ttlnumberttl 参数可以是 0 到 255 之间

示例代码​

const udp = Taro.createUDPSocket()
udp.onListening(function () {
udp.setTTL(64)
})
udp.bind()

send​

向指定的 IP 和 port 发送消息

支持情况:

参考文档

(option: Option) => void
参数类型
optionOption

示例代码​

const udp = Taro.createUDPSocket()
udp.bind()
udp.send({
address: '192.168.193.2',
port: 8848,
message: 'hello, how are you'
})

connect​

预先连接到指定的 IP 和 port,需要配合 write 方法一起使用

支持情况:

参考文档

(option: Option) => void
参数类型
optionOption

write​

用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异(注意即使调用了 connect 也需要在本接口填入地址和端口参数)

支持情况:

参考文档

() => void

close​

关闭 UDP Socket 实例,相当于销毁。 在关闭之后,UDP Socket 实例不能再发送消息,每次调用 UDPSocket.send 将会触发错误事件,并且 message 事件回调函数也不会再也执行。在 UDPSocket 实例被创建后将被 Native 强引用,保证其不被 GC。在 UDPSocket.close 后将解除对其的强引用,让 UDPSocket 实例遵从 GC。

支持情况:

参考文档

() => void

onClose​

监听关闭事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback关闭事件的回调函数

offClose​

取消监听关闭事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback关闭事件的回调函数

onError​

监听错误事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback错误事件的回调函数

offError​

取消监听错误事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback错误事件的回调函数

onListening​

监听开始监听数据包消息的事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback监听开始监听数据包消息的事件

offListening​

取消监听开始监听数据包消息的事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback监听开始监听数据包消息的事件

onMessage​

监听收到消息的事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback收到消息的事件的回调函数

offMessage​

取消监听收到消息的事件

支持情况:

参考文档

(callback: Callback) => void
参数类型说明
callbackCallback收到消息的事件的回调函数

参数​

connect​

Option​

参数类型说明
addressstring要发消息的地址
portnumber要发送消息的端口号

onClose​

Callback​

当一个 socket 完全关闭就发出该事件的回调函数

(args: unknown[]) => void
参数类型
argsunknown[]

onError​

Callback​

错误事件的回调函数

(result: CallbackResult) => void
参数类型
resultCallbackResult

CallbackResult​

参数类型说明
errMsgstring错误信息

onListening​

Callback​

监听开始监听数据包消息的事件

(args: unknown[]) => void
参数类型
argsunknown[]

onMessage​

Callback​

收到消息的事件的回调函数

(result: CallbackResult) => void
参数类型
resultCallbackResult

CallbackResult​

参数类型说明
messageArrayBuffer收到的消息
remoteInfoRemoteInfo发送端地址信息
localInfoLocalInfo接收端地址信息

RemoteInfo​

发送端地址信息

参数类型说明
addressstring发送消息的 socket 的地址
familystring使用的协议族,为 IPv4 或者 IPv6
portnumber端口号

LocalInfo​

接收端地址信息

参数类型说明
addressstring接收消息的 socket 的地址
familystring使用的协议族,为 IPv4 或者 IPv6
portnumber端口号
sizenumbermessage 的大小,单位:字节

send​

Option​

参数类型默认值必填说明
addressstring是要发消息的地址。在基础库 <= 2.9.3 版本必须是和本机同网段的 IP 地址,或安全域名列表内的域名地址;之后版本可以是任意 IP 和域名
portnumber是要发送消息的端口号
messagestring or ArrayBuffer是要发送的数据
offsetnumber0否发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效
lengthnumbermessage.byteLength否发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效

API 支持度​

API微信小程序H5React NativeHarmonyASCF元服务
UDPSocket✔️
UDPSocket.bind✔️
UDPSocket.setTTL✔️
UDPSocket.send✔️
UDPSocket.connect✔️
UDPSocket.write✔️
UDPSocket.close✔️
UDPSocket.onClose✔️
UDPSocket.offClose✔️
UDPSocket.onError✔️
UDPSocket.offError✔️
UDPSocket.onListening✔️
UDPSocket.offListening✔️
UDPSocket.onMessage✔️
UDPSocket.offMessage✔️