18.1利用socket .io 实现 editor间的同步

首先,我们想实现在同一个页面editor 大家同时编辑 同步

所以能 我们需要这个url 作为我们 session id 或者叫聊天室的roomid 或者 反正就是保证他们在同一个list里面

就是 一旦发现 这个URL里面的editor信息发生变化 不如光标啊 代码啊 等等 一有变化

我们server端接收到这些改变 就发给同在整个人url的所有人

从而实现 代码同步和协作

因为我们用url作为 room的 唯一标示

所以 我们用到client 端的 route

 

初始化的时候 根据route.params得到 sessionId 

下面的代码太长了 我们吧他写入一个function里面

 打开一个网页,我们希望用户的鼠标直接在editor上面 这样他不用自己点上去

同时我们获取别人代码的变化

下面将ace editor和 server绑在一起

那么我们去完成这个方法

我们从server端拿到这些变化 还要把他同步到我们client端的editor去

这些方法都是ace editor自带的 可以查API 

完成change方法

 

总结:

就是我们editor 初始化的 时候 会初始化editor 什么 主题啦 将光标放在编辑器上啊

调用collaboration的初始化方法

(监听其他用户的变化并同步到client端editor),同步完以后

再调用change() 想server端发送自己change

server端监听changer接收

猜你喜欢

转载自www.cnblogs.com/PoeticalJustice/p/9365263.html