tencent cloud

文档反馈

UDP 通信

最后更新时间: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'
    })
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持