RailsChat是一款由Rails开发的实时Web聊天室,在Render_sync的基础上完成,有需要即时通讯的应用可以考虑这个Example
请点击这里访问Demo,测试用户登陆账号格式为:
username: user<number>@test.com
password: password
[email protected]
和password
能登陆用户1,以此类推Note:请用两个浏览器分别登陆不同的用户来测试消息的即使推送,注意这两个用户需要互为好友
git clone https://github.com/your_user_name/RailsChat
cd RailsChat
bundle install
rails server
rackup sync.ru -E production
config/sync.yml
文件以本地局域网为例:
ifconfig
查看),那么需要将config/sync.yml中的localhost全改为此ip地址,例如 development:
server: "http://192.168.0.14:9292/faye"
adapter_javascript_url: "http://192.168.0.14:9292/faye/faye.js"
auth_token: "97c42058e1466902d5adfac0f83e84c1794b9c3390e3b0824be9db8344eae82b"
adapter: "Faye"
async: true
test:
...
production:
...
然后运行rake tmp:clear来清除缓存,不然修改不会生效(运行前先将所有相关的运行停止:如rails s,rackup sync.ru等)
再次运行rails服务器和监听程序,并指定监听程序运行的ip地址
rails s
bundle exec rackup sync.ru -E production --host 192.168.0.14
bundle exec rackup sync.ru -E production --host 192.168.0.14 -D
ps ax | grep ruby
查找相关ruby端口,然后用kill -9 <pid>
结束正在运行的rackup,如:21099 ? Sl 0:00 /var/www/railschat/RailsChat/vendor/bundle/ruby/2.3.0/bin/rackup
21105 pts/4 S+ 0:00 grep --color=auto ruby
当遇到消息并没有实时推送的情况时,先F12查看浏览器的Js文件加载情况,若faye.js加载成功则一般不会出现问题
以上加载完成但是仍然没有推送的时候,请查看Rails服务器的log文件
需要在两个浏览器中登录不同的账号来检验聊天室功能
如果觉得好,请给项目点颗星来支持吧~~
有什么好的建议,请在issue中提出,欢迎contributors!