Rokato. UdpComm

UDP通讯操作类

Constructor

new UdpComm(plug, udpIdx)

构造UdpComm操作对象

Parameters:
NameTypeDefaultDescription
plugRktPlug

插件通信对象

udpIdxnumber0

UDP对象索引

Methods

(async) devApiV1(keyStr) → {Promise}

激活设备APIv1通讯模式

Parameters:
NameTypeDescription
keyStrstring

设备APIv1字符串密钥

Returns:

err/msg + retval

Type: 
Promise

getUdpIdx() → {number}

获取当前UDP对象索引

Returns:
Type: 
number

(async) multicastRecvSet(enable, group, idx) → {Promise}

组播接收设置

Parameters:
NameTypeDefaultDescription
enableboolean

true=加入组播,false=退出组播

groupstring

有效的组播地址 范围参考 224.0.0.0/4 或 FF00::/8

idxnumber0

默认0由系统自动 否则为指定接收网卡编号 可通过RktPlug类ifconfig方法获取

Returns:

err/msg + retval

Type: 
Promise

(async) multicastSendSet(idx, ttl, loop) → {Promise}

组播发送设置

Parameters:
NameTypeDefaultDescription
idxnumber0

默认0由系统自动 否则为指定发送网卡编号 可通过RktPlug类ifconfig方法获取

ttlnumber32

最大路由跳转次数 建议默认32 有效范围0~255

loopnumberfalse

是否本机回环接收 建议默认false

Returns:

err/msg + retval

Type: 
Promise

(async) send(host, data) → {Promise}

发送数据报

Parameters:
NameTypeDescription
hoststring

发送目标地址

datastring

十六进制数据包

Returns:

err/msg + retval(实际发送字节数)

Type: 
Promise

setUdpIdx(udpIdx)

设置切换UDP对象索引

Parameters:
NameTypeDescription
udpIdxnumber

UDP对象索引

(async) start(callback, broadcast, host, v6only) → {Promise}

启动通讯 注意重复调用仅callback更改有效,retval一定返回true

Parameters:
NameTypeDefaultDescription
callbackcallback

事件回调evt参数对象包含host(来源地址信息)/data(十六进制数据包)

broadcastbooleanfalse

是否启用IPv4广播支持

hoststring0.0.0.0:0

默认绑定随机未占用端口(客户端场景) 否则为绑定指定地址与端口但端口被占用将会失败(服务端场景)

v6onlybooleanfalse

默认false=IPv6与IPv4兼容模式 true=仅限IPv6 如果host为IPv4格式则本参数无意义

Returns:

err/msg + retval

Type: 
Promise

(async) stop() → {Promise}

停止通讯

Returns:

err/msg

Type: 
Promise

(async) unicastSendSet(idx) → {Promise}

单播发送设置(注意IPv4广播发送同样有效)

Parameters:
NameTypeDefaultDescription
idxnumber0

默认0由系统自动 否则为指定发送网卡编号 可通过RktPlug类ifconfig方法获取

Returns:

err/msg + retval

Type: 
Promise