MemRelay-Operation: memory-save:nixmsg-prd-20260930-0001 MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
---
|
|
title: NixMsg 设备通讯需求
|
|
type: prd
|
|
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/nix-msg-设备通讯需求
|
|
stable_id: 9cea62eb-5435-4fb1-af51-9699bb182b1a
|
|
scope: project
|
|
memory_type: prd
|
|
project_id: 25464650-ed5d-440e-b362-190f2852d451
|
|
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
|
|
status: active
|
|
revision: 3
|
|
request_id: nixmsg-prd-20260930-0001
|
|
created_at: '2026-09-29T15:43:54.496883+00:00'
|
|
updated_at: '2026-09-29T16:02:18.558213+00:00'
|
|
tags:
|
|
- nixmsg
|
|
- requirements
|
|
---
|
|
|
|
NixMsg 是设备间通讯中心,目标能力:
|
|
1. 设备间互发数据
|
|
2. 查看在线设备
|
|
3. 检查指定设备是否在线
|
|
4. 尽可能使用一个端口,通过不同 tag 与不同设备通讯
|
|
5. 可以为某个设备设置通讯密码
|
|
6. 提供快速接入 SDK,能在各系统和开发语言间复用
|
|
|
|
部署与规模:
|
|
- 只部署单台服务器,暂不做集群
|
|
- 设备数量 1000 以内,可能接入嵌入式设备
|
|
|
|
消息语义:
|
|
- 发送时可选择对方不在线是否把消息留在服务器,等对方上线后再下发
|
|
- 离线消息必须带过期时间,超时后自动销毁,不再下发
|
|
- 弱网也要尽量送达,传达语义是至少一次,消息带 ID 供接收方去重
|
|
- 发送者可以撤回已提交、对方尚未接受、且尚未过期的消息
|
|
- 发送者可以指定消息何时发送:先暂存在服务器,到点后由服务器按当时的在线状态投递;对方不在线时仍走原来的是否保留和保留时间
|
|
- 发送者可以固定设定每条消息的发送延迟(例如 10 秒),在这个窗口期内可以决定不发送
|
|
|
|
当前仓库为空目录,尚未开工。邮箱存储倾向 SQLite,但用户尚未明确说开工。 |