Ruby on rails 钢轨-腹板箱
我想使用WebSocket将数据推送到客户端。我现在不知道如何将数据(从Redis)返回到客户端。谁能给我解释一下吗 sockets\u controller.rbRuby on rails 钢轨-腹板箱,ruby-on-rails,websocket,redis,Ruby On Rails,Websocket,Redis,我想使用WebSocket将数据推送到客户端。我现在不知道如何将数据(从Redis)返回到客户端。谁能给我解释一下吗 sockets\u controller.rb class SocketsController < WebsocketRails::BaseController def create send_message :new_event, {:message => 'TEST'} end end websocket_rails.rb WebsocketRa
class SocketsController < WebsocketRails::BaseController
def create
send_message :new_event, {:message => 'TEST'}
end
end
websocket_rails.rb
WebsocketRails.setup do |config|
config.redis_options = { driver: :ruby }
config.standalone = false
config.synchronize = true
end
客户端:
$socket.on('test', function(data) {
console.log(data);
$scope.events.upshift(data);
if($scope.events.length>50){
$scope.events.length=50;
EventsList =$scope.events;
}
});
routerApp.config(["$socketProvider", function ($socketProvider) {
$socketProvider.setUrl("http://172.16.20.179:3000/events");
}]);
在客户端,问题如下所示:
GET http://172.16.20.179:3000/socket.io/?
EIO=3&transport=polling&t=1439215071732-9
XMLHttpRequest cannot load http://172.16.20.179:3000/socket.io/?
EIO=3&transport=polling&t=1439215056291-6. No 'Access-Control-Allow-
Origin' header is present on the requested resource. Origin
'http://localhost:4000' is therefore not allowed access. The response
had HTTP status code 404.
似乎您正在尝试对web套接字使用
Socket.IO
。Rails不支持Socket.IO
的实现
如果您想了解如何从Angular.JS与websocket rails交互的示例,可以使用以下指南:
请提供您的源代码。也添加您的客户端代码。完成后,您可以立即查看是否确定这不可能?好的,您可以设置其他Node.js服务器,如下所示:现在我获得404(未找到)
GET http://172.16.20.179:3000/socket.io/?
EIO=3&transport=polling&t=1439215071732-9
XMLHttpRequest cannot load http://172.16.20.179:3000/socket.io/?
EIO=3&transport=polling&t=1439215056291-6. No 'Access-Control-Allow-
Origin' header is present on the requested resource. Origin
'http://localhost:4000' is therefore not allowed access. The response
had HTTP status code 404.