返回列表 发帖

微信小程序API UDP通信

UDPSocket wx.createUDPSocket()
基础库 2.7.0 开始支持,低版本需做兼容处理。
创建一个 UDP Socket 实例。使用前请注意阅读相关说明。

返回值
UDPSocket
一个 UDP Socket 实例

UDPSocket
基础库 2.7.0 开始支持,低版本需做兼容处理。
一个 UDP Socket 实例,默认使用 IPv4 协议。

方法:
number UDPSocket.bind(number port)
绑定一个系统随机分配的可用端口,或绑定一个指定的端口号

参数
number port
基础库 2.9.0 开始支持,低版本需做兼容处理。
指定要绑定的端口号,不传则返回系统随机分配的可用端口

返回值
number
绑定成功的端口号

示例代码
const udp = wx.createUDPSocket()
const port = udp.bind()

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


UDPSocket.offClose(function callback)
取消监听关闭事件

参数
function callback
关闭事件的回调函数


UDPSocket.offError(function callback)
取消监听错误事件

参数
function callback
错误事件的回调函数


UDPSocket.offListening(function callback)
取消监听开始监听数据包消息的事件

参数
function callback
开始监听数据包消息的事件的回调函数


UDPSocket.offMessage(function callback)
取消监听收到消息的事件

参数
function callback
收到消息的事件的回调函数


UDPSocket.onClose(function callback)
监听关闭事件

参数
function callback
关闭事件的回调函数


UDPSocket.onError(function callback)
监听错误事件

参数
function callback
错误事件的回调函数

参数
Object res
属性        类型        说明
errMsg        string        错误信息

UDPSocket.onListening(function callback)
监听开始监听数据包消息的事件

参数
function callback
开始监听数据包消息的事件的回调函数


UDPSocket.onMessage(function callback)
监听收到消息的事件

参数
function callback
收到消息的事件的回调函数

参数
Object res
属性        类型        说明
message        ArrayBuffer        收到的消息
remoteInfo        Object        消息来源的结构化信息
remoteInfo 的结构

属性        类型        说明
address        string        发送消息的 socket 的地址
family        string        使用的协议族,为 IPv4 或者 IPv6
port        number        端口号
size        number        message 的大小,单位:字节

UDPSocket.send(Object object)
向指定的 IP 和 port 发送消息

参数
Object object
属性        类型        默认值        必填        说明
address        string                是        要发消息的地址。在基础库 2.9.3 及之前版本可以是一个和本机同网段的 IP 地址,也可以是在安全域名列表内的域名地址;在基础库 2.9.4 及之后版本,可以是任意 IP 和域名
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'
  })

返回列表