Skip to content

ZXCDFGTYU/real-time-pad

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

这是什么

这是一个简单的工具,暂时我把称作pad,你可以在pad上编辑自己的文字或者笔记,顶部的工具栏可以让你轻松地让你的文字在排版上更加美观。 那么。。这和普通的文本编辑器有什么区别呢?玄机在于你可以将你正在编辑的文档分享出去,也就是把浏览器中的url发送给你的朋友,最后面的一串字符是该份文档的id, 当你们同时对这一份文档进行编辑的时候,你们互相可以实时的看到对方的操作,类似于文字直播的感觉。你可以对伙伴写文字进行内容或者样式上的修改。总之,这是一个好玩的东西。

这是怎么做到的

核心原理是运用websocket进行通信,将每一个人对文档的改动广播到链接这份文档的每一个浏览器。 后端是完全采用php来编写的,用swoole扩展提供websocket服务,然后用redis和mongodb进行内容的存储和分发。

##代码

因为这个项目并不需要特别大的框架来支持,我选用了slim框架来协助完成,这是一个很微小,同时很厉害的框架, 框架的中文文档也很简洁,Slim中文文档 ;框架的作者有一本讲php的书,叫做《modern php》,如果你用php的话,可以看看。 所有的代码开源在github上,如果你也想在自己的服务器或者你本地进行搭建,你要安装php的swoole扩展和mongodb扩展,当然,你也必须拥有redis和mongodb的环境才行。 这是github仓库的地址,real-time-pad,如果你有好的想法可以告诉我,如果你愿意给我一个star那就更好了😆

使用

你可以随意修改这份文档,但是所有的修改都不会被保存,如果你想体验一下,可以点击这里,一个可以玩耍的pad,在这里你可以随便写些什么,然后把链接发送给别人,体会一下乐趣。😉 我的设想是:你可以创建属于自己的pad,然后分享给你的朋友们。但是暂时只有一个有效的pad,每个人都可以去访问,去修改。

安装

在确保环境都已安排妥善的情况下,你只需要去github上下载或clone代码,然后运行:

composer install

cp config.example.php config.php

然后开启socket服务,cd到你的代码根目录,运行

php socket.php

因为这个项目暂时并不复杂,所有我现在直接把一些服务器的配置写在了相应类的代码中,包括socket监听的端口号,redis的host和端口号。

更新日志

2017.1.21 完成最基本的功能

2017.1.22 配置文件分离

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 75.6%
  • CSS 20.2%
  • PHP 2.8%
  • HTML 1.4%