# qq.createUDPSocket

# UDPSocket qq.createUDPSocket()

从基础库版本1.6.9开始支持

创建一个 UDP 通信 连接。使用前请注意阅读相关说明

# 返回值

# UDPSocket

一个 UDP Socket 实例

# UDPSocket

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

# 方法

# number UDPSocket.bind()

绑定一个系统随机分配的可用端口

# UDPSocket.send(Object object)

向指定的 IP 和 port 发送消息

# UDPSocket.close()

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

# UDPSocket.onClose(function callback)

监听关闭事件

# UDPSocket.offClose(function callback)

取消监听关闭事件

# UDPSocket.onError(function callback)

监听错误事件

# UDPSocket.offError(function callback)

取消监听错误事件

# UDPSocket.onListening(function callback)

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

# UDPSocket.offListening(function callback)

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

# UDPSocket.onMessage(function callback)

监听收到消息的事件

# UDPSocket.offMessage(function callback)

取消监听收到消息的事件

# .bind

# number UDPSocket.bind()

绑定一个系统随机分配的可用端口

# 返回值

绑定成功的端口号

# 示例代码

  const udp = qq.createUDPSocket()
  const port = udp.bind()
1
2

# .close

# UDPSocket.close()

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

# .send

# UDPSocket.send(Object object)

向指定的 IP 和 port 发送消息

# 参数

# Object object
属性 类型 默认值 必填 说明
address string 要发消息的 IP 地址。必须是一个和本机同网段的 IP 地址关闭的原因。
port number 要发送消息的端口号
message string/ArrayBuffer 要发送的数据
offset number 0 发送数据的偏移量,仅当 message 为 ArrayBuffer 类型时有效成功、失败都会执行)
length number message.byteLength 发送数据的长度,仅当 message 为 ArrayBuffer 类型时有效

# 示例代码

  const udp = qq.createUDPSocket()
  udp.bind()
  udp.send({
    address: '192.168.188.8',
    port: 8888,
    message: 'hello, QQ小游戏'
  })
1
2
3
4
5
6
7

# .offClose

# UDPSocket.offClose(function callback)

取消监听关闭事件

# 参数

# function callback

关闭事件的回调函数

# .offError

# UDPSocket.offError(function callback)

取消监听错误事件

# 参数

# function callback

错误事件的回调函数

# .offListening

# UDPSocket.offListening(function callback)

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

# 参数

# function callback

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

# .offMessage

# UDPSocket.offMessage(function callback)

取消监听收到消息的事件

# 参数

# function callback

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

# .onClose

# UDPSocket.onClose(function callback)

监听关闭事件

# 参数

# function callback

关闭事件的回调函数

# .onError

# UDPSocket.onError(function callback)

监听错误事件

# 参数

# function callback

错误事件的回调函数

# 参数

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

# .onListening

# UDPSocket.onListening(function callback)

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

# 参数

# function callback

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

# .onMessage

# 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 的大小,单位:字节