多人文件需要解決實時通訊和編輯衝突問題。
編輯鎖
只要有人編輯這個文件,該文件就會被鎖定,其他人無法編輯。這種方案實現簡單所以應用最廣,但是使用者體驗不好,並且也不能實時通訊。
gnu diff-patch
diff和patch是兩個不同的命令,diff來找到兩個版本不同的地方,patch來合併更新兩個檔案。
實現方法:
每個人都保持長連線,保持好當前的文件副本。
有人編輯時如果停頓5s(根據具體產品)將現有版本和副本diff,將結果傳給服務端更新副本。
伺服器更新文件,通過長連線發給其他使用者,通過patch合併。
operational transformation
待補充
ElasticSearch文件簡單理解
程式中大多的實體或物件能夠被序列化為包含鍵值對的json物件,鍵 key 是字段 field 或屬性 property 的名字,值 value 可以是字串 數字 布林型別 另乙個物件 值陣列或者其他特殊型別,比如表示日期的字串或者表示地理位置的物件。accounts 通常,我們可以認為物件 obje...
理解文件流
這個暑假裡的實習是真正讓我體會到了做前端一定要理解文件流。之前一直處於必須給元素加邊框才能看到我講元素放置在了文件中的什麼位置。理解了文件流,腦海中就會定位到相應的元素。文件流,其實本沒有這樣的定義,有的是普通流的概念。簡單說就是元素按照其在html中的位置順序決定排布的過程。並且這種過程遵循標準的...
Python簡單多人聊天室
伺服器端 auther kele 匯入socket包 import socket,threading 建立乙個socket物件 server socket.socket socket.af inet,socket.sock stream 獲取本地ip host socket.gethostname ...