tencent cloud

UDP 通信

PDF
聚焦模式
字号
最后更新时间: 2024-07-12 19:32:15

createUDPSocket

该 API 使用方法为 UDPSocket wx.createUDPSocket()
功能说明:创建一个 UDP Socket 实例。
返回值:UDPSocket,一个 UDP Socket 实例。

UDPSocket

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

.bind

该 方法 使用方式为 number UDPSocket.bind(number port)
功能说明:绑定一个系统随机分配的可用端口,或绑定一个指定的端口号。
参数及说明:number port,指定要绑定的端口号,不传则返回系统随机分配的可用端口。
返回值:number,绑定成功的端口号。
示例代码
const udp = wx.createUDPSocket()
const port = udp.bind()

.close

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

.connect

该 方法 使用方式为 UDPSocket.connect(Object object)
功能描述:预先连接到指定的 IP 和 port,需要配合 write 方法一起使用。
参数及说明:Object object
属性
类型
默认值
必填
说明
address
string
-
要发消息的地址
port
number
-
要发送消息的端口号
示例代码:
const udp = wx.createUDPSocket()
udp.bind()
udp.connect({
address: '192.168.193.2',
port: 8848,
})
udp.write({
address: '192.168.193.2',
port: 8848,
message: 'hello, how are you'
})

.onClose

该 方法 使用方式为 UDPSocket.onClose(function listener)
功能说明:监听关闭事件。
参数及说明:function listener,关闭事件的监听函数。

.offClose

该 方法 使用方式为 UDPSocket.offClose(function listener)
功能说明:移除关闭事件的监听函数。
参数及说明:function listener,onClose 传入的监听函数,不传此参数则移除所有监听函数。
示例代码:
const listener = function (res) { console.log(res) }

UDPSocket.onClose(listener)
UDPSocket.offClose(listener) // 需传入与监听时同一个的函数对象

.onError

该 方法 使用方式为 UDPSocket.onError(function listener)
功能说明:监听错误事件。
参数及说明:function listener,错误事件的监听函数,参数 Object res 如下:
属性
类型
说明
errMsg
string
错误信息

.offError

该 方法 使用方式为 UDPSocket.offError(function listener)
功能说明:移除错误事件的监听函数。
参数及说明:function listener,onError 传入的监听函数,不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

UDPSocket.onError(listener)
UDPSocket.offError(listener) // 需传入与监听时同一个的函数对象

.onListening

该 方法 使用方式为 UDPSocket.onListening(function listener)
功能说明:监听开始监听数据包消息的事件。
参数及说明:function listener,开始监听数据包消息的事件的监听函数。

.offListening

该 方法 使用方式为 UDPSocket.offListening(function listener)
功能说明:移除开始监听数据包消息的事件的监听函数。
参数及说明:function listener,onListening 传入的监听函数,不传此参数则移除所有监听函数。
示例代码:
const listener = function (res) { console.log(res) }

UDPSocket.onListening(listener)
UDPSocket.offListening(listener) // 需传入与监听时同一个的函数对象

.onMessage

该 方法 使用方式为 UDPSocket.onMessage(function listener)
功能说明:监听收到消息的事件。
参数及说明:function listener,收到消息的事件的监听函数,参数 Object res 如下:
属性
类型
说明
message
ArrayBuffer
收到的消息。消息长度需要小于4096
remoteInfo
Object
发送端地址信息
remoteInfo 结构属性
结构属性
类型
说明
address
string
发送消息的 socket 的地址
family
string
使用的协议族,为 IPv4 或者 IPv6
port
number
端口号
size
number
message 的大小,单位:字节

.offMessage

该 方法 使用方式为 UDPSocket.offMessage(function listener)
功能说明:移除收到消息的事件的监听函数。
参数及说明:function listener,onMessage 传入的监听函数,不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }

UDPSocket.onMessage(listener)
UDPSocket.offMessage(listener) // 需传入与监听时同一个的函数对象

.send

该 方法 使用方式为 UDPSocket.send(Object object)
功能说明:向指定的 IP 和 port 发送消息。
参数及说明:Object object。
属性
类型
默认值
必填
说明
address
string
-
要发消息的地址。
port
number
-
要发送消息的端口号
message
string/ArrayBuffer
-
要发送的数据
offset
number
0
发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效
length
number
message.byteLength
发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效
示例代码:
const udp = wx.createUDPSocket()
udp.bind()
udp.send({
address: '192.168.193.2',
port: 8848,
message: 'hello, how are you'
})

.setTTL

该 方法 使用方式为 UDPSocket.setTTL(number ttl)
功能说明:设置 IP_TTL 套接字选项,用于设置一个 IP 数据包传输时允许的最大跳步数。
参数及说明:number ttl,ttl 参数可以是 0 到 255 之间。
示例代码:
const udp = wx.createUDPSocket()
udp.onListening(function () {
udp.setTTL(64)
})
udp.bind()


.write

该 方法 使用方式为 UDPSocket.write()
功能说明:用法与 send 方法相同,如果没有预先调用 connect 则与 send 无差异。
说明:
即使调用了 connect 也需要在本接口填入地址和端口参数。
示例代码:
const udp = wx.createUDPSocket()
udp.bind()
udp.connect({
address: '192.168.193.2',
port: 8848,
})
udp.write({
address: '192.168.193.2',
port: 8848,
message: 'hello, how are you'
})


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈