{"_id":"@ai-table/live-feed","name":"@ai-table/live-feed","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@ai-table/live-feed","version":"0.0.1","peerDependencies":{"@angular/common":"^18.2.0","@angular/core":"^18.2.0"},"dependencies":{"tslib":"^2.3.0"},"sideEffects":false,"module":"fesm2022/ai-table-live-feed.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2022":"./esm2022/ai-table-live-feed.mjs","esm":"./esm2022/ai-table-live-feed.mjs","default":"./fesm2022/ai-table-live-feed.mjs"}},"_id":"@ai-table/live-feed@0.0.1","gitHead":"b9a7d4d63f99b4ba2ecac563b4170e8f908ad8fb","description":"## 文档:房间 -> 1:1 1. step1、step2 同步数据 2. message 3. awareness","_nodeVersion":"20.15.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-zFTFj5b7r7NnYYcCOfbS7yZ7qr75JPnmmzPKW62tGRGMwH+ehkFrBl0JXQKC85/IJniRTYGd3rIp89CDDY8qoQ==","shasum":"d121c6d5eb9b4629c7daa648226c789a8bac2199","tarball":"https://registry.npmjs.org/@ai-table/live-feed/-/live-feed-0.0.1.tgz","fileCount":25,"unpackedSize":118251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQmsKd5/i+IUVSLHfgT28NGe6q15Q1r0yqt0JbECLMDQIhAKlzwov628oWvvsqUMxoaONa/ZkXa2FArgHa32uHlM9o"}]},"_npmUser":{"name":"pubuzhixing","email":"pubuzhixing@gmail.com"},"directories":{},"maintainers":[{"name":"pubuzhixing","email":"pubuzhixing@gmail.com"},{"name":"huanhuanwa","email":"2323666215@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/live-feed_0.0.1_1732528559833_0.8998853452663198"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-25T09:55:59.697Z","0.0.1":"2024-11-25T09:56:00.048Z","modified":"2024-11-25T09:56:00.427Z"},"maintainers":[{"name":"pubuzhixing","email":"pubuzhixing@gmail.com"},{"name":"huanhuanwa","email":"2323666215@qq.com"}],"description":"## 文档:房间 -> 1:1 1. step1、step2 同步数据 2. message 3. awareness","readme":"# 通讯流程设计\n\n## 文档:房间 -> 1:1\n1. step1、step2 同步数据\n2. message\n3. awareness\n\n## 文档:房间 -> n:1\n\n### 思路一：消息中增加标识位\n\n1. step1、step2 同步数据\n2. message\n3. awareness\n\n同样是上面的三种同步，只不过每次同步数据时都把 guid 带上，标识数据同步的是哪个文档的，以前房间就代表文档，所以不需要传\n\n这样的设计意味着每一次 ws 链接（第一次连以及后续的断开重连），每一个文档都需要和服务器进行一次 step1 和 step2 的握手，预测消息密度会非常的大\n\n实践中发现的一个问题是：新建 record 的操作需要走两次同步才可以完成数据传递，一次是新建动作，一次是新建对应的初始化数据\n\n### 思路二：单条消息支持多个文档的 update\n\n这种方式就是在思路一的基础上进行的扩展的，就是想实现一条同步消息中可以包含多个文档的更新：type-guid0-update-guid1-update...\n\n这种方式理论上可行，并且可以解决思路一种的消息过密以及一个动作多次同步的问题","readmeFilename":"README.md"}