TYM042
Express + Express-ws 实时通信
发布时间:2021-10-29
作者:yaming042
阅读量:- 次
本文字数:3.9k
阅读时长 ≈ 4 分钟
项目开发中时常会遇到多人协作的问题,比如多人同时编辑一片稿子,或同时修改一个东西,后一个人的保存始终会覆盖之前的数据,面对这种情况,我想到的办法有俩:
- 锁 + 超时解锁,当A在编辑的时候就禁止其他人编辑,如果A在一定时间内没有动作,那么就自动解开A的锁,其他人B就可以编辑
- 实时通信,当A在编辑的时候,实时告知其他人,此时A正在编辑
方案1,需要后端进行配合,比如新增lock等字段,表明当前是锁着的还是没有锁着的,而且还需要指定接口来锁定/解锁;前端需要控制超时逻辑(感觉利用cookie比较好,因为cookie可以设置生命周期),而且每次都需要将超时时间重新更新;如果一个项目刚开始,我感觉还是可以用这种方案的,项目开始就规划好,勉强还是可以用的。
方案2,我认为是主流,但也需要后端配合,不过还是很简单的
今天简单记录下express + express-ws的实时通信,首先使用express-ws的大体逻辑
1 | // app.js |