Skip to content

NACP ​

NACP 全称 Nyirusu Application Control Protocol。

NACP 是 NApp 通讯协议层,负责规范 NACPMessage 的 RPC-style 格式。

NACP Message Type ​

type含义ACK期待回包
register注册,链接时发送的第一条消息√1 response
unregister取消注册√1 response
request请求,发送一次事件或能力调用√1 response +
0~N notify
response响应,表示一个消息的最终结果√-
subscribe订阅,远程订阅一个NApp的消息总线√1 response
unsubscribe取消订阅√1 response
notify通知,发送订阅的中途消息×-
signal信号,对一个正在进行中的事件发送中途补充√-
ack知晓,表示对方已成功接收并准备处理消息--

TIP

其中,register和unregister一般不需要NApp外部手动发送。

还需要注意的是,对于notify,接收方是不会发送ack消息确认的。

更多 ​

WARNING

  1. NACP被设计为可靠传输,具有一定消息队列性质,但以下缺陷是已知的、并且未来大概率不会去修正的:
  • 断线重连、路由变动后一部分包发送可能会乱序,没有seq机制
  • 没有进程意外退出后持久化保存队列
  • notify 被设计为MQTT Qos 0 Like,即只发送、不确认对方是否收到。
  1. NACP乃至NASDK 都没有鉴权层、没有用户身份概念,默认连接的都是可信 App。
  2. NACP的路由选择只看NACP消息中的to字段,Gateway也不会去转换和修改。

Released under the MIT License.