我一直在考虑如何使用nodejs/socket制作一个实时web应用程序.io/mongodb.这个 idea 与谷歌文档(google docs)非常相似,在谷歌文档中,页面上编辑的对象会在所有客户端浏览器上发出并重新呈现.
做这件事最好的方法是什么?根据我所读到的,我可以想出三种方法:
1) 使用mongodb oplogs
在mongodb集合中添加一个"监听器",每当对集合进行更改时,都会重新播放页面的部分内容(缺点:慢?)
2) 使用本地json
将mongodb数据检索到json文件中,使用fs进行编辑,保存到mongodb,完成后删除json(缺点:在数据库和实际应用程序之间有额外的层很麻烦)
3) 使用纯套接字.木卫一
重新渲染而不存储,仅在所有更改完成后保存(缺点:文件可能无法在所有浏览器中正确呈现)
有没有更好的方法来实现这一点?(谷歌文档是如何工作的?)非常感谢任何人能提供的帮助!