Skip to content

onRegister ​

onRegister() 负责校验入站的 RegisterMessage,并建立 App ID 与 NACT Peer 的绑定。

ts
NApp.nacp.onRegister(
  message,
  peer,
): void
参数说明
message入站的 RegisterMessage
peer承载 Register 的 NACT Peer

行为 ​

握手检查 ​

onRegister() 会拒绝以下情况:

原因含义
dual-gateway通信双方都声明为 Gateway
version-mismatchNACP 主版本不兼容
appId-in-use相同 App ID 已在线
multi-gatewayGateway 槽位已被其他连接占用

离线宽限期内重新注册的相同 App ID 不属于 appId-in-use,会按重连处理。

建立绑定 ​

检查通过后,onRegister() 会绑定 message.from 与入站 Peer,并根据 message.payload.isGateway 结算 Gateway 槽位。

Register 在绑定前无法按 App ID 回复 ACK,因此会在绑定完成后补发。

返回声明 ​

绑定完成后,onRegister() 会发送成功的 Response,并在 payload 中返回当前 NApp 的 isGateway 与 decl。

重连时 ​

如果该 App 此前处于离线宽限期,握手完成后会取消宽限计时,并按原顺序补发积压消息。

发送方向见 register(),连接状态见生命周期。

Released under the MIT License.