Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/NixMsg 设备通讯需求.md
T
memrelay 7f71e66ac8 update: NixMsg 设备通讯需求
MemRelay-Operation: memory-save:nixmsg-prd-20260930-0001
MemRelay-Resource: 9cea62eb-5435-4fb1-af51-9699bb182b1a
2026-09-30 00:02:21 +08:00

1.7 KiB

title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
title type permalink stable_id scope memory_type project_id usage_profile_id status revision request_id created_at updated_at tags
NixMsg 设备通讯需求 prd main/projects/25464650-ed5d-440e-b362-190f2852d451/nix-msg-设备通讯需求 9cea62eb-5435-4fb1-af51-9699bb182b1a project prd 25464650-ed5d-440e-b362-190f2852d451 0c9feb46-d06e-43cd-9ef0-c5813c84a998 active 3 nixmsg-prd-20260930-0001 2026-09-29T15:43:54.496883+00:00 2026-09-29T16:02:18.558213+00:00
nixmsg
requirements

NixMsg 是设备间通讯中心,目标能力:

  1. 设备间互发数据
  2. 查看在线设备
  3. 检查指定设备是否在线
  4. 尽可能使用一个端口,通过不同 tag 与不同设备通讯
  5. 可以为某个设备设置通讯密码
  6. 提供快速接入 SDK,能在各系统和开发语言间复用

部署与规模:

  • 只部署单台服务器,暂不做集群
  • 设备数量 1000 以内,可能接入嵌入式设备

消息语义:

  • 发送时可选择对方不在线是否把消息留在服务器,等对方上线后再下发
  • 离线消息必须带过期时间,超时后自动销毁,不再下发
  • 弱网也要尽量送达,传达语义是至少一次,消息带 ID 供接收方去重
  • 发送者可以撤回已提交、对方尚未接受、且尚未过期的消息
  • 发送者可以指定消息何时发送:先暂存在服务器,到点后由服务器按当时的在线状态投递;对方不在线时仍走原来的是否保留和保留时间
  • 发送者可以固定设定每条消息的发送延迟(例如 10 秒),在这个窗口期内可以决定不发送

当前仓库为空目录,尚未开工。邮箱存储倾向 SQLite,但用户尚未明确说开工。