Khi làm việc với websocket tôi thực sự thích làm việc với pusher. Họ là bữa ăn tối đơn giản để thiết lập. họ được tự do cho 200k Tin nhắn/ngày
Đây là heroku documentation cho pusher
1) cài đặt các viên ngọc
gem install pusher
2) cài đặt addons
heroku addons:create pusher:sandbox
3) đặt trình khởi tạo của bạn
#config/initializers/pusher.rb
require 'pusher'
Pusher.app_id = '000000'
Pusher.key = '000000000000000000'
Pusher.secret = '00000000000000000000'
Pusher.cluster = 'xxx'
Pusher.logger = Rails.logger
Pusher.encrypted = true
Một khi bạn có chìa khóa của bạn ở vị trí tất cả các bạn cần là để tạo ra một khách hàng (js) và một máy chủ
mã kiểm tra vào khách hàng là như thế này
<!DOCTYPE html>
<head>
<title>Pusher Test</title>
<script src="https://js.pusher.com/4.1/pusher.min.js"></script>
<script>
// Enable pusher logging - don't include this in production
Pusher.logToConsole = true;
var pusher = new Pusher("#{key}", {
cluster: "#{cluster}",
encrypted: true
});
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert(data.message);
});
</script>
</head>
bây giờ trên máy chủ thực sự là đơn giản
require 'pusher'
pusher_client = Pusher::Client.new(
app_id: ENV[:app_id],
key: ENV[:key],
secret: ENV[:secret],
cluster: ENV[:cluster],
encrypted: true
)
pusher_client.trigger('my-channel', 'my-event', {
message: 'hello world'
})
tôi hy vọng rằng điều này sẽ giúp ra
bạn đã tìm thấy một giải pháp cho điều này? Tôi đang gặp vấn đề tương tự – gwalshington