- qq.createUDPSocket
- UDPSocket
- 方法
- number UDPSocket.bind()
- UDPSocket.send(Object object)
- UDPSocket.close()
- 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
- .close
- .send
- .offClose
- .offError
- .offListening
- .offMessage
- .onClose
- .onError
- .onListening
- .onMessage
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()
.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小游戏'
})
.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 的大小,单位:字节 |