搭建一个 faye 服务
一、ruby 配置
1. rack 使用 puma 运行起来
项目下新建一个 faye.ru
文件, 配置 faye
require 'faye'
bayeux = Faye::RackAdapter.new(:mount => '/faye', :timeout => 25)
run bayeux
启一个 faye rack
服务
rackup config.ru -s puma -E production -p 9292
这是通过
puma
启起来的, 通过其他方式配置, 参见ruby faye
的相关文档
2. 发布消息
使用 ruby
自带的 HTTP
请求
Net::HTTP.post_form(uri, message: message)
# uri: faye 服务启的地址
# message: json 格式(字符串), channel(发送数据的频道), data(发送的数据)
例如:
Net::HTTP.post_form(URI('http://127.0.0.1:9292/faye/events'), message: { channel: '/foo', data: '1223' }.to_json)
二、前端订阅
<!DOCTYPE HTML>
<html>
<head>
<!- 引入 JQuery ->
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<!- 引入 faye js ->
<script type="text/javascript" src="http://127.0.0.1:9292/faye/client.js"></script>
</head>
<body>
<div>faye测试</div>
</body>
<script type="text/javascript">
console.log(1111)
// 启一个订阅
$(function() {
var client = new Faye.Client('http://127.0.0.1:9292/faye');
client.subscribe('/foo', function(message) {
console.log(222)
console.log(message)
});
})
</script>
</html>
三、 faye 相关文档
四. 拓展
anycable , 和
faye
类似